以下是删除列表中重复IP地址的Python程序:
dup_ip = ['1.1.1.1','2.1.1.1','1.1.1.1','3.3.3.3','2.1.1.1','1.1.1.1','3.3.3.3',]
empty_list=[]
for i in dup_ip:
if i not in empty_list:
empty_list.append(i)
print i
我得到的输出如下所示:
C:\Users\test\Desktop>python dup_list.py
1.1.1.1
2.1.1.1
3.3.3.3
C:\Users\test\Desktop>
但是我想把输出也作为一个列表,如下所示:
['1.1.1.1', '2.1.1.1','3.3.3.3']
怎么做?
答案 0 :(得分:3)
您只需打印empty_list
或更好的方法是将原始dup_ip
转换为set
,然后根据需要返回list
:< / p>
>>> dup_ip = ['1.1.1.1', '2.1.1.1', '1.1.1.1','3.3.3.3', '2.1.1.1', '1.1.1.1', '3.3.3.3']
>>> unique_ip = list(set(dup_ip))
>>> print unique_ip
['2.1.1.1', '1.1.1.1', '3.3.3.3']
答案 1 :(得分:0)
您的问题是您在添加后立即打印内循环中的每个元素。要一次打印列表,您需要在添加完所有内容后打印整个列表。所以:
dup_ip = ['1.1.1.1','2.1.1.1','1.1.1.1','3.3.3.3','2.1.1.1','1.1.1.1','3.3.3.3',]
empty_list=[]
for i in dup_ip:
if i not in empty_list:
empty_list.append(i)
print empty_list
这将根据您的需要将输出作为列表提供给您。