python - 计算列表中列表的最小长度

标签 python list

a=[[1,0,1,2,1,1,1,3111111],[31,1,4,51,1,1,1],[1,1,6,7,8]]
print min(a[0],a[1],a[2])

以下代码返回 [1, 0, 1, 2, 1, 1, 1, 3111111]。不确定默认 key 是什么以及根据什么逻辑返回?

另外,我实际上是在尝试从列表中的这些列表中找出最小长度。

我写了这个 min(len(a[0]),len(a[1]),len(a[2]))。这可以做得更好吗?

最佳答案

几个选项:

a = [[1,0,1,2,1,1,1,3111111], [31,1,4,51,1,1,1], [1,1,6,7,8]]

print min(a, key=len)
# [1, 1, 6, 7, 8]

print len(min(a, key=len))
# 5

print min(map(len, a))
# 5

关于python - 计算列表中列表的最小长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18741633/

相关文章:

python - Pandas - 分组后将滚动总和转移到后续组

Python2.7 : Extract slice from a list based on a pattern in a Pythonic way

python - 如何评估列表中的列表,列表中具有不同的属性(int,str,list):

python - 将一对列表/元组解压缩成两个列表/元组

python - Pandas :groupby 并创建一个新列,将聚合应用于两列

python - 完成后如何关闭此进度条

c# - 在不使用数组的情况下,我可以更快地查看特定索引吗?

java - 为什么Java中没有 "List.reverse()"方法?

Python加载带有UTF-8 BOM header 的json文件

python - 使用 MySQLdb 在 Python 中执行这样的 SQL 查询是否安全?