如何计算嵌套列表中两项的出现次数

时间:2019-06-24 07:32:48

标签: python count nested conditional-statements

我有一个嵌套列表

a = [[1,'a','b'], [2,'c','d'], [3,'a','b']]

我如何计算a和b在嵌套列表中出现的次数?

在这种情况下,答案应该是2次。

p.s。这是我的第一篇文章,非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用

测试是否包含在列表中

'a' in some_list

这是对还是错。您可以使用and进行多次测试(还有一些其他方法可能会有些用):

'a' in some_list and 'b' in some_list

如果同时满足两个条件,则为true。要对列表中的所有列表执行此操作,可以使用列表理解:

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视为1,而将False视为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