为了账号安全,请及时绑定邮箱和手机立即绑定

我需要比较两组并警告任何匹配的元素

我需要比较两组并警告任何匹配的元素

HUWWW 2022-04-27 13:27:07
全新的蟒蛇。首先,我想使用请求从网页正文中提取 IP 地址列表。我有那个列表并使用 -Splitlines- 来格式化我的列表并删除除 IP 地址之外的任何内容。我正在将此列表添加到集合中。其次,我想从 CSV 文件中提取 IP 地址列表。我有列表,还使用 -Splitlines- 格式化并添加到集合中。但是,如果我在片场运行 len,我会丢失大约 1,000 行(共 18,000 行)。此外,我尝试了几种不同的方法来比较这些集合,但我没有看到任何红旗表明两个集合中都存在一个元素。这可能是由于缺少行。4 小时的谷歌搜索 - 终于决定寻求帮助r = requests.get(url) black = set() for line in r.text.splitlines():     bip = line.split(' ')[0]      black.add(bip) # print(black) # Print for testingfile = "file_wip.csv"white = set()with open(file, 'r') as filehandle:    for line in filehandle:      wip = line.split(',')[0]       white.add(wip)# print(white) # Print for testing# black.intersection(white) <-- my attempts to compare# set(black) == set(white)```1. len on the sets do not provide an accurate line count2. comparing the sets is blank
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

你的逻辑似乎是正确的


black = set(['93.43.2.3', '83.23.2.2' ,'98.21.2.4'])

white = set(['54.54.3.2' ,'90.90.32.3' ,'98.21.2.4'])


print(black.intersection(white))

输出


{'98.21.2.4'}

您是否检查过print(black)和print(white)输出是否有任何差异?


如果您的数据有重复值,它们将被删除。这可能是长度不匹配的原因


查看完整回答
反对 回复 2022-04-27
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号