Python中的列表是否有"不关心"值

Hay*_*tes 3 python list

有没有办法count()在嵌套列表中寻找特定值的地方使用,而不是关心其余的?

lst = [[1,6],[1,4],[3,4],[1,2]]
X = 1
lst.count([X, _ ])
Run Code Online (Sandbox Code Playgroud)

这将返回一个计数3,因为有三个嵌套列表1在第一个索引中具有a .

有没有办法做到这一点?

Joe*_*don 6

使用一些偷偷摸摸的sum()黑客:

sum(k[0] == X for k in your_list)
Run Code Online (Sandbox Code Playgroud)

>>> X = 1
>>> your_list = [[1,6],[1,4],[3,4],[1,2]]
>>> sum(k[0] == X for k in your_list)
3
Run Code Online (Sandbox Code Playgroud)

为什么?

section:k[0] == X for k in your_list是一个生成器表达式,True为每个元素生成your_list第一个元素等于你的元素X.该sum()函数接受值并将a True视为a 1.