[英]How to iterate if list contains unequal tuple in size?
我們已經知道,如果我們有一個包含相等元組大小的列表,那么我們可以像下面一樣迭代,
list1 =[(1,2),(3,4),(5,6)]
for (i,j) in list1:
print(i,j)
如果我有一個元組列表如下:
list1 =[(1,2,3),(4,5),(7,8,9),(10,11)]
而不是使用嵌套的for循環,有沒有其他方法來遍歷所有元素?
如果您已經知道最小尺寸,則可以打開最小尺寸和剩余尺寸:
>>> list1 =[(1,2,3),(4,5),(7,8,9),(10,11)]
>>> for i, j, *r in list1:
... print(i, j, r)
...
1 2 [3]
4 5 []
7 8 [9]
10 11 []
你可以把它解析,並轉換成一個列表,並使用len()
的list
來獲得它的size
不知道這一點,事前:
list1 =[(1,2,3),(4,5),(7,8,9),(10,11)]
for elem in list1:
print([*elem], "of size: {}".format(len([*elem])))
輸出 :
[1, 2, 3] of size: 3
[4, 5] of size: 2
[7, 8, 9] of size: 3
[10, 11] of size: 2
編輯 :
如果你不想要任何列表轉換:
print(', '.join(map(str, (elem))), "of size: {}".format(len(elem)))
輸出 :
1, 2, 3 of size: 3
4, 5 of size: 2
7, 8, 9 of size: 3
10, 11 of size: 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.