python - 我需要比较两组并警告任何匹配的元素
问题描述
全新的蟒蛇。
首先,我想使用请求从网页正文中提取 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 testing
file = "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 count
2. comparing the sets is blank
解决方案
你的逻辑似乎是正确的
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)
输出是否有任何差异?
如果您的数据有重复值,它们将被删除。这可能是长度不匹配的原因
推荐阅读
- javascript - NodeJS - JSON数组推送元素但不会增加长度
- google-maps - vue google maps - 仅为“fitBounds”调用设置最大缩放级别
- eclipse - Eclipse 格式化程序没有正确缩进
- reactjs - (PDF.js) 如何将 Hand 工具添加到您的 pdf 页面
- java - 如何解决 Neo4J-admin 导入中的未排序数据错误
- c++ - selectedIndexes() 返回的 QModelIndexList 始终为空
- javascript - 从 LAN 中的其他设备访问我的 ReactJS 项目
- c# - c# nunit extent 报告没有截屏,传递异常
- r - 如何提取列表中所有唯一因子水平的排列
- audiokit - 如何播放一次 AKAppleSequencer 的一个部分/范围