如何让Python返回这个:
list = [['a', 23, 'h401'], ['f', 45, 'h403'], ['g', 56, 'h401']]
如果'h401'
作为输入给出,它应该返回具有'h401'的子列表的
[1]
索引中的数字总数
>>> 79 #(23 + 56)
与给定 'h403
' 相同,它应该返回带有 'h403'
的子列表的 [1]
,即 45
最佳答案
仅当第三个元素是 h401
并对它们求和时,您才可以使用表达式选择第二个元素。
l = [['a', 23, 'h401'], ['f', 45, 'h403'], ['g', 56, 'h401']]
sum(i[1] for i in l if i[2] == 'h401')
如果您只想检查目标元素是否在列表中,您可以使用:
sum(i[1] for i in l if 'h401' in i)
关于如果子列表中存在给定元素,Python 将返回子列表的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52995022/