【发布时间】:2015-03-01 23:44:07
【问题描述】:
这里给出了一个嵌套列表:
nl = [['Harsh', 20], ['Beria', 20], ['Varun', 19], ['Kakunami', 19], ['Vikas', 21]]
现在我必须通过它们的第二个值在嵌套列表中找到第二低的列表。并将第二低的列表附加到另一个列表中。
所以输出应该是:
['Harsh', 20], ['Beria', 20]
我写了以下代码,但它不起作用:
nl = [['Harsh', 20], ['Beria', 20], ['Varun', 19], ['Kakunami', 19], ['Vikas', 21]]
result=[]
temp=max(nl, key=lambda x: x[1])
largest, larger = temp[1], temp[1]
for num in nl:
if num[1] < largest:
largest, larger = num[1], largest
elif num[1] < larger:
larger = num[1]
result.append(larger)
print(result)
【问题讨论】:
-
为什么它不起作用?错误?
-
没有错误..它不会生成正确的输出。它只给出 [20,19]。
-
这正是来自 HackerRank.com 的this question 类别/路径:Hackerrank.com -> 实践 -> Python -> 基本数据类型 -> 嵌套列表
标签: python list python-3.x nested-lists