簡體   English   中英

如何在python中同時執行兩個循環?

[英]How to execute two loop simultaneously in python?

我有兩個清單:

 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"]

我想檢查host_list的數據是否存在於ip_value中,如果它隨后將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”}

這些是集合 ,而不是列表。 您可以計算出它們之間的差異:

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']

使用set

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

要回答這個問題,為什么您給出的代碼什么都不做:

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

您正在將host_list與ip_value進行比較,而不是將host與ip進行比較。 host_list!= ip_value,因此從不執行下一條語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM