python - 如何制作没有重复的列表
问题描述
好的,所以我将从我所知道的开始。我知道您可以制作列表,然后创建这些列表的副本,以删除所有/不包括列表项双打。我正在寻找的是一个可以检查自身而不包括重复项的列表。
下面的代码是我想要做的,但链接列表还不存在。所以我得到一个名称错误。我再次知道我可以制作一个新列表并告诉它不要包含这些项目,但我正在寻找一种很好的单行方式来实现这一目标。也许它需要我迭代列表有点不同并且需要 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]
解决方案
您是否尝试使用 set 并将它们转换回列表?
links = list(set([a['href'] for a in body.find_all("a")]))
推荐阅读
- sql - 将 excel 中的值连接到插入查询值中
- reactjs - 'npm 错误!c:\users\dell\appdata\local\npm-cache\_logs\2021-03-09t08_09_11_553z-debug.log'
- spring-boot - Spring Boot 应用程序不使用 k8 gke 服务帐户,而是使用默认服务帐户
- qt - 如何在 QDateEdit 或 QCalendarWidget 中更改非活动天数的颜色
- jquery - 如何使用asp.net核心中的ajax获取控制器中所选表行的数据?
- angular - ng服务时如何修复Angular替换引导错误
- vue.js - 在vue js中重复相同的div n次
- java - 什么时候需要动态多态性(与静态多态性相比)?
- ios - 如何在 Ionic 5 的 InappBrowsers 的 IOS 设备中显示“返回”选项?
- docker - 刷新 nginx docker 中托管的 nuxt.js 应用程序时 URL 更改