3
假設我有一個生成器gen
,它生成一些列表。我想找到最長的列表。查找python生成器/列表中最大/最小的對象
我可以做
max((len(L) for L in gen))
這將讓我最長的列表的長度,但在這一點上的列表去時間的迷霧中。
或者我可以做
maxlength = 0
for L in gen:
if len(L)>maxlength:
savelist = L
maxlength = len(L)
但似乎應該避免for循環和if語句更Python的方式。
編輯只是一個評論,以幫助其他人誰可以搜索相關問題: 與min
尋找最小對象可以等價完成,如果gen
是一個列表,而不是同樣的方法會奏效。
那真的是相當的? 'max'只需要遍歷一次,而不是對它進行排序。 – khelwood
@ khelwood不,完全沒有,但它給出了相同的結果 –