[英]Get max length of multi-dimension tuple
我的元組看起來像這樣(對於一組特定的生成值)
tTrains = [ (3, ), (1, 3), (6, 8), (4, 6, 8, 9), (2, 4) ]
現在,我需要找到的是這個元組/列表中最長元組的長度。 我總是可以使用 for 循環,遍歷所有子元組並執行它。 但我想問一下是否有一個預定義的 function 相同。
這是我現在要使用的
max = 0
for i in range( len(tTrains) ):
if iMax < len( i ):
iMax = len( i )
tup=[ (3, ), (1, 3), (6, 8), (4, 6, 8, 9), (2, 4) ]
max(map(len,tup))
結果:
4
您不應該使用max
作為變量名,因為這會掩蓋同名的內置變量。 這個內置的max()
可用於計算可迭代對象的最大值。
您當前有一個元組列表,但您想要它們長度列表中的最大值。 要獲取此列表,您可以使用列表理解:
[len(t) for t in tuples]
(請注意,我將您的列表tuple
重命名為tuples
,因為tuple
會隱藏同名的內置類型。)
現在您可以將max()
應用於此列表,或者甚至更好地應用於以類似方式構造的生成器表達式。
另一個解決方案:
>>> tup=[ (3, ), (1, 3), (6, 8), (4, 6, 8, 9), (2, 4) ]
>>> len(max(tup, key=len))
4
翻譯為“給我tup
的最大元素的長度,“最大”由元素的長度定義”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.