根据我的列表: arr=[['Harsh', 20], ['Beria', 20], ['Varun', 19], ['Kakunami', 19], ['Vikas', 21]]
我必须删除包含最小数字的元素 即元素: ['Varun', 19], ['Kakunami', 19]
我尝试了以下代码:
arr=[['Harsh', 20], ['Beria', 20], ['Varun', 19], ['Kakunami', 19], ['Vikas', 21]]
arr.sort(key=lambda x: (x[1],x[0]))
min_value=min(arr,key=lambda x:x[1])
min_marks=min_value[1]
for i in arr:
if i[1]==min_marks:
arr.remove(i)
但这没有给出期望的输出
arr = [['Harsh', 20], ['Beria', 20], ['Varun', 19], ['Kakunami', 19], ['Vikas', 21]]
arr.sort(key=lambda x: (x[1], x[0]))
min_value = min(arr,key=lambda x:x[1])
min_marks = min_value[1]
arr = [ elem for elem in arr if elem[1] != min_marks]
在迭代时从这样的列表中删除元素并不是很好。相反,您可能希望形成一个索引列表以删除和使用该.remove()功能。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。