2015-05-09 104 views
0

所以我很新,我仍然在學習,但我無法找到答案任何地方......,這裏說的是我的問題: 我試圖產生與輸出不同行上的多個列表,我一次只需要一個,我會發布我的非工作代碼,然後是一個代碼,只用一個列表工作:從列表中打印單行每行

在每行上重複打印每個變量該列表被稱爲:

networks = ["192.168.1.1 255.255.255.0", "192.168.2.1 255.255.255.0", "192.168.3.1 255.255.255.0"] 
vlans = ["1001", "1002", "1003"] 
name = ["MGMT", "DATA", "VOICE"] 

for s in (networks, vlans, name): 
    print "vlan %r" % (vlans) 
    print "Name %r" % (name) 
    print "int vlan %r" % (vlans) 
    print " ip add %r" % (networks) 

生成期望的輸出,在時間放置可變順序之一:

networks = ['192.168.1.1', '192.168.2.1', '192.168.3.1'] 

for address in networks: 
    print "ip add %s" % address 
    print "description I can't place multiple variables :'(" 

任何想法都將不勝感激,最終我想用列表名格式化的原因是能夠以這種方式在一行上使用多個列表。再次感謝您提前。

編輯:事先,我明白做單獨的for循環每個列表,我想這與操作的打印報表中所作的順序完成

回答

0
networks = ["192.168.1.1 255.255.255.0", "192.168.2.1 255.255.255.0", "192.168.3.1 255.255.255.0"] 
vlans = ["1001", "1002", "1003"] 
names = ["MGMT", "DATA", "VOICE"] 

for network, vlan, name in zip(networks, vlans, names): 
    print "vlan %r" % (vlan) 
    print "Name %r" % (name) 
    print "int vlan %r" % (vlan) 
    print " ip add %r" % (network) 

PS

關於你的代碼。 for s in (list1, list2...)迭代列表的元組,而不是列表本身,因此s是每次迭代的列表。實際上,您甚至在代碼中不使用s。您在每次迭代時都參考您的主列表,因此您每次都可以完全打印它們。

3

可以使用zip

​​