作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最初有两个数组,一个包含数字,另一个关联值:
scores = [2, 4, 12 ... etc ]
players = ["Peter", "Brian", "Meg" ... etc]
top_score_index = scores.index(max(scores))
top_player = players[top_score_index]
这已经很糟糕了,因为 scores.index(max(scores))
显然会迭代该列表两次(在最坏的情况下)。
情况变了,scores
数组现在包含列表:
scores = [[something, something, something], [something, something]]
我关心的分数只是len( scores[some_offset] )
,即嵌套列表的长度。
如何轻松找到那些嵌套列表中最长的索引?例如。对于:
[[0,0,0],[0,0],[0,0,0,0,0,0]]
我期望返回值 2
。拜托,效率是我现在关心的问题。
最佳答案
scores = [[0,0,0],[0,0],[0,0,0,0,0,0]]
print(max((len(l), i) for i, l in enumerate(scores))[1])
打印 2
。
你无法避免在每个子列表上调用 len
,所以我不认为你可以在效率方面做得更好。
关于python - 在二维列表中查找最长子列表的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40710858/
我是一名优秀的程序员,十分优秀!