0

我有两个清单:

 host_list = ["10.3.11.250", "10.3.24.45", "10.5.3.5","10.3.4.5"]
 ip_value = ["34.45.34.5", "10.3.11.250","10.3.4.5"]

我想检查 ip_value 中是否存在 host_list 的数据,然后将 ip_value 附加到另一个列表中。我正在这样做检查以下代码:

for host,ip in zip(host_list ,ip_value):
    if host_list == ip_value
        list_ip = list_ip.append(ip)

但它什么也没做。为什么?list_ip 应该返回什么,它将返回: {"10.3.11.250", "10.3.4.5"}

4

3 回答 3

6

这些是集合,而不是列表。您可以计算它们的差异:

list_ip = host_list - ip_value

返回

{'10.5.3.5', '10.3.24.45'}

编辑:好的,现在它们是两个列表。将代码更改为:

list_ip = list(set(host_list) - set(ip_value))

返回

['10.5.3.5', '10.3.24.45']
于 2012-05-30T14:09:54.690 回答
2

使用set_

another_list = list(set(host_list) - set(ip_value))
于 2012-05-30T14:15:06.747 回答
1

要回答这个问题,为什么您提供的代码什么都不做:

for host,ip in zip(host_list ,ip_value): 
    if host_list == ip_value 
        list_ip = list_ip.append(ip)

您将 host_list 与 ip_value 进行比较,而不是将主机与 ip 进行比较。host_list != ip_value,因此永远不会执行下一条语句。

于 2012-05-30T14:43:32.453 回答