python - 如何计算嵌套列表中两个项目的出现次数
问题描述
我有一个嵌套列表
a = [[1,'a','b'], [2,'c','d'], [3,'a','b']]
我如何计算 a & b 出现在嵌套列表中的次数?
在这种情况下,答案应为 2 次。
ps 这是我第一次发帖,谢谢大家的帮助。
解决方案
您可以测试是否包含在列表中
'a' in some_list
这将是真或假。您可以使用以下方法进行多次测试and
(还有其他一些可能有点漂亮的方法):
'a' in some_list and 'b' in some_list
如果两个条件都满足,这将是正确的。要对列表中的所有列表执行此操作,您可以使用列表推导:
a_list = [[1,'a','b'], [2,'c','d'], [3,'a','b']]
['a' in x and 'b' in x for x in a_list]
这将返回一个布尔值列表,列表中的每个项目对应一个:
[True, False, True]
当被视为数字时,python 将True
as1
和False
as 视为0
. 这意味着您只需将该列表相加即可计算并在一行中找到解决方案:
a_list = [[1,'a','b'], [2,'c','d'], [3,'a','b']]
sum(['a' in x and 'b' in x for x in a_list])
# 2
推荐阅读
- ios - 需要替换 SCNLight 属性导致目标从 iOS 10 更改为 9
- java - 在 if、else if、else 包括 Integer.parseInt 的过程中,如何处理输入字符串?
- python - 检查可调用对象是类还是函数
- javascript - 如何在本机反应中创建一串属性?
- kubernetes-ingress - 在 Kubernetes NGINX 入口控制器后面使用相对 URL 托管 webapp
- angular - 我们无法使用 cordova 插件获得对联系人列表的本地访问权限
- spring-integration - TcpNioClientConnectionFactory 与 TcpNetClientConnectionFactory
- c# - 实体框架核心并从 sqlite 数据库获取表列表
- javascript - 为什么js类不使用public和private关键字?
- python - 我无法从 python 更新数据库