从循环中列出python中的排列

2024-09-22 16:26:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码是这样的:

j=0
list1=[]

for port in portlist1:
    l=[[port.getname(),port.getsize()]]
    for register in port.getregisters():
        j=j+1
    l.append(j)
    list1.append(l)
    j=0

输出打印列表1为:

^{pr2}$

如果我想使用函数,我应该做些什么改变

      register.getaddress(),register.getdirection() inside 2nd for loop instead of increment j.

所以我的输出应该是:

 print list1:      [[['B', 10], [['1000',IN],['1',OUT]]], [['C', 25], ['v', 1001]], [['F', 30], []]]
 print list1[0]:   [['B', 10], [['1000',IN],['1',OUT]]
 print list1[0][1]:  ['1000',IN],['1',OUT]

Tags: 代码inregister列表forportoutprint
1条回答
网友
1楼 · 发布于 2024-09-22 16:26:49

我认为你可以通过理解列表来做到这一点:

list1 = []

for port in portlist1:
    l = [[port.getname(),port.getsize()],
         [[register.getaddress(), register.getdirection()]
          for register in port.getregisters()]]
    list1.append(l)

然而,这给了你一个噩梦般的深层嵌套列表。我认为巴布关于使用词典的评论是对的。以下是您可以通过这种方式改进的方法:

^{pr2}$

相关问题 更多 >