我查了一个类似的问题,但找不到答案。
Fnactot = []
Fnacdebut = 0
Fnacnombre = 4
Fnac = 0
Fnac1 = ['major lazer', 'goooya', 1000]
Fnac2 = ['phoenix', 'wolfgang', 1300]
Fnac3 = ['jain', 'makemba', 1150]
Fnac4 = ['dj shadow', 'aphex', 2100]
while Fnacdebut < Fnacnombre :
Fnacdebut = Fnacdebut + 1
fnac = 'Fnac'+str(Fnacdebut)
print fnac
我确定答案很容易......但我在那里挠头......
我想打印我的列表Fnac1,Fnac2,......但我正在打印字符串值fnac ='Fnac'+ str(Fnacdebut)。 如何ca,我将fnac的字符串结果转换回我的名单...
提前感谢...
答案 0 :(得分:0)
不要尝试生成变量名称。它涉及使用eval
评估变量名称,这是不好的做法。
只需从头开始创建一个连贯的数据集
只使用列表清单:
fnac = [['major lazer', 'goooya', 1000],
['phoenix', 'wolfgang', 1300],['jain', 'makemba', 1150],['dj shadow', 'aphex', 2100]]
然后:
for f in fnac:
print(f)
或(为了更好地控制显示,并且由于列表中有整数,您必须将它们转换为字符串):
for f in fnac:
print(",".join(str(x) for x in f))
答案 1 :(得分:0)
嗯,有办法做到这一点:print(locals()[fnac])
将打印列表内容。
最好还是将列表存储在另一个列表或元组中,然后通过迭代新列表来打印它们:
fnacs = (['major lazer', 'goooya', 1000],
['phoenix', 'wolfgang', 1300],
['jain', 'makemba', 1150],
['dj shadow', 'aphex', 2100])
for i, fnac in enumerate(fnacs):
print("Fnac%d" % i, fnac)
答案 2 :(得分:0)
Fnactot = []
Fnacdebut = 0
Fnacnombre = 4
Fnac = 0
Fnac1 = ['major lazer', 'goooya', 1000]
Fnac2 = ['phoenix', 'wolfgang', 1300]
Fnac3 = ['jain', 'makemba', 1150]
Fnac4 = ['dj shadow', 'aphex', 2100]
while Fnacdebut < Fnacnombre :
Fnacdebut = Fnacdebut + 1
fnac = 'Fnac'+str(Fnacdebut)
print globals()[fnac]
这样做,但更好的方法是:
lst1 = ['major lazer', 'goooya', 1000]
lst2 = ['phoenix', 'wolfgang', 1300]
lst3 = ['jain', 'makemba', 1150]
lst4 = ['dj shadow', 'aphex', 2100]
all_lists = [lst1, lst2, lst3, lst4]
for lst in all_lists:
print lst