2012-08-28 40 views
-3

如何將一個交換列表分配給一系列IP?將IP列表分配給Python中的開關列表

EX:

名單= [switch1.com,switch2.com,switch3.com,...]

IP = [10.15.15.1,10.15.15.2,一路10.15。 15.254]

我希望能夠將「切換列表」中的第一個切換器分配給「ip列表」中的第一個IP。如果IP多於交換機,我不希望它爲交換機分配多個IP。每個交換機只需要IP地址。

+0

你想要一個是關鍵,另一個是價值嗎? –

回答

3

你想下?

>>> sws= ['switch1','switch2','switch3'] 
>>> ips = ['10.15.15.1','10.15.15.2','10.15.15.3','10.15.15.4'] 
>>> print zip(sws,ips) 
[('switch1', '10.15.15.1'), ('switch2', '10.15.15.2'),('switch3', '10.15.15.3')] 
+1

什麼比'zip'更好? –

+0

不,在這種情況下,它不比拉鍊好。剛剛更新,謝謝。 –

+0

這就是我一直在尋找的。即使IP列表的值比交換列表更多,我仍希望腳本仍能運行。 – gtemma11

1
if len(ip) == len(list): 
    return zip(ip, list) # Returns [("10.15.15.1", "switch1.com"), ...] 

或者,如果你想一個是關鍵,而另一個值:

if len(ip) == len(list): 
    ret = {} 
    for i, j in zip(ip, list): 
     ret[i] = j 
    return ret 
+0

你可以從'if條件'中刪除'return'語句:) – avasal

+0

在if條件中沒有'return',坦率地說,我從來沒有見過任何人在'if'條件下返回。 –

+0

您的代碼示例中有返回語句... – avasal