【发布时间】:2016-08-13 12:49:35
【问题描述】:
我正在尝试使用正则表达式在文件中查找 IP 地址的唯一实例。我发现它们很好,并尝试将它们附加到列表中,然后尝试在我的列表中使用 set() 删除重复项。我发现每个项目都很好,并且有重复项,但我无法简化列表。打印 my set 的输出与打印 ips 为列表的输出相同,没有任何内容被删除。
ips = [] # make a list
count = 0
count1 = 0
for line in f: #loop through file line by line
match = re.search("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", line) #find IPs
if match: #if there's a match append and keep track of the total number of Ips
ips.append(match) #append to list
count = count + 1
ipset = set(ips)
print(ipset, count)
这个字符串<_sre.SRE_Match object; span=(0, 13), match='137.43.92.119'> 在尝试set() 列表之前和之后在输出中出现了 60 多次
【问题讨论】:
-
语法正确..也许你需要检查
ips -
您正在制作一组匹配对象。
-
@rock321987 该列表正在打印完全相同的输出,因为我可以判断我是否都打印了
-
@user2357112 有没有办法将实际匹配的字符串添加到列表中?这会改变什么吗?
标签: python regex list python-3.x set