如何在列表中打印列表的最大大小

时间:2013-11-26 22:50:46

标签: python

例如:

alist=[[(0, 0), (0, 1), (1, 1), (1, 2), (2, 2), (2, 1), (2, 0), (1, 0), (3, 0)], 
[(0, 2), (0, 3), (1, 3)],
[(0, 4), (1, 4), (2, 4), (0, 5), (0, 6), (1, 6), (2, 6), (3, 6)],
[(1, 5)],
[(2, 3), (3, 3), (3, 4), (3, 5), (2, 5), (3, 2), (3, 1)]]

for i in dlist:
    print(len(i))
    print(max(len(i)))  #this gives me error

输出:

5
9
3
8
1
7

我想打印9作为上面列表中的输出。我怎么能打印结果?

4 个答案:

答案 0 :(得分:5)

稍微简洁

len(max(alist,key=len))

答案 1 :(得分:3)

如果您可以确定您的嵌套只有一个级别(即列表列表):

print max(len(sublist) for sublist in alist)

答案 2 :(得分:1)

使用map的功能样式:

print max(map(len, alist))

答案 3 :(得分:1)

如果您想要最长子列表的实际索引:

max(((i,l) for i,l in enumerate(alist)), key=lambda t: len(t[1]))[0]

或者,正如评论中所述:

max(enumerate(alist), key=lambda t: len(t[1]))[0]