簡體   English   中英

從列表中每行打印一個變量

[英]Print single variable per line from list

所以我很新,仍然在學習,但我找不到任何答案...,這就是我的問題:我正在嘗試生成包含多個位於不同行的列表的輸出,我希望一個時間,我將發布無效代碼,然后發布僅適用於單個列表的代碼示例:

在稱為列表的每一行上重復打印每個變量:

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循環,我希望這樣做是按照執行打印語句的操作順序完成的。

您可以使用zip

for ip, vlan, n in zip(networks, vlans, name):
    print ip
    print vlan
    print n
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)

聚苯乙烯

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

暫無
暫無

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

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