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

全新的蟒蛇。


首先,我想使用请求从网页正文中提取 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


HUWWW
浏览 124回答 1
1回答

跃然一笑

你的逻辑似乎是正确的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)输出是否有任何差异?如果您的数据有重复值,它们将被删除。这可能是长度不匹配的原因
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python