[英]Creating multiple list from loops
我想用for循环创建多个列表,我的代码是:
for port in portlist1:
print port.getname(),port.getsize()
for register in port.getregisters():
j=j+1
print j
j=0
输出为:
B 10
1
C 15
1
F 30
1
我想每次都列出清单:
List1=[[B,10],1]
List2=[[C,15],1]
List3=[[F,30],1]
有人可以帮我吗?
lists = []
for port in portlist1:
l = [[port.getname(), port.getsize()]]
for register in port.getregisters():
j=j+1
l.append(j)
lists.append(l)
j=0
目前尚不清楚循环之前j
的值是什么,但是看起来您正在使用它来测量port.getregisters()
的长度。 尝试以下这种方法:
result = [[[port.getname(), port.getsize()], len(port.getregisters())] for port in portlist1]
每次创建一个新列表都是一个坏主意,您应该嵌套每个列表。 如果端口数量是静态的,则可以使用vars()['listX']
..但仍不建议这样做。 您应该选择kroolik
或alecxe
给出的答案
但是,如果您真的需要像这样的东西:
List1=[[B,10],1]
List2=[[C,15],1]
List3=[[F,30],1]
您可以使用:
lname = "list"
for i,p in enumerate(portlist1):
j = len(p.getregisters())
vars()[lname+str(i)] = [(p.getname(),p.getsize()), j]
print list0
print list1
print list2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.