首页 > 解决方案 > 如何制作没有重复的列表

问题描述

好的,所以我将从我所知道的开始。我知道您可以制作列表,然后创建这些列表的副本,以删除所有/不包括列表项双打。我正在寻找的是一个可以检查自身而不包括重复项的列表。

下面的代码是我想要做的,但链接列表还不存在。所以我得到一个名称错误。我再次知道我可以制作一个新列表并告诉它不要包含这些项目,但我正在寻找一种很好的单行方式来实现这一目标。也许它需要我迭代列表有点不同并且需要 2 行,但目标是创建一个没有重复的列表,而不依赖于重写列表或创建一个新列表。基本上只需要遍历列表一次(在创建期间)。

from bs4 import BeautifulSoup as bs4
import requests
import sys 
import re

try: 
    page = requests.get(sys.argv[1])
except IndexError:
    page = requests.get("https://medium.com")

body = bs4(page.content, "html.parser")
links = [a['href'] for a in body.find_all("a") if a['href'] not in links] 

标签: pythonarrayslist

解决方案


您是否尝试使用 set 并将它们转换回列表?

links = list(set([a['href'] for a in body.find_all("a")]))

推荐阅读