簡體   English   中英

獲取多維元組的最大長度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM