如果子列表中存在给定元素,Python 将返回子列表的元素

标签 python list indexing

如何让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/

相关文章:

python - 如何知道哪些协程已通过 asyncio.wait() 完成

c# - 如何在 C# 中克隆通用列表?

SQL Server - 存储过程突然变慢

python - Pandas 数据框中的值未排序

python - time.sleep 阻止按下 tkinter.Button

python - 如何在 Telegram 上根据文件 ID 发送文件

list - Haskell:从列表中一一打印 Int

.net - 使用 LINQ 从列表创建元组列表

python - pycassa 的 ColumnFamily.get_indexed_slices 返回一个生成器吗?

Mysql - "Select like"未使用索引