Python 如何使用组合的if和for语句执行此操作

Python 如何使用组合的if和for语句执行此操作,python,Python,如何在python中组合IF语句和FOR循环。像 list = [1,2,3,4] x = 4 count = 0 for i in list: if (i == x): count += 1 我们如何将第4行、第5行和第6行组合在一行中?这是可能的吗?是的,你要做的是计算数字的出现次数,Python List已经有了一个方法count()来完成这项工作。但是您应该避免将变量名用作list,因为它会影响Pythonlist数据结构 >>> number

如何在python中组合IF语句和FOR循环。像

list = [1,2,3,4]
x = 4
count = 0
for i in list:
    if (i == x):
        count += 1

我们如何将第4行、第5行和第6行组合在一行中?这是可能的吗?

是的,你要做的是计算数字的出现次数,Python List已经有了一个方法
count()
来完成这项工作。但是您应该避免将变量名用作
list
,因为它会影响Python
list
数据结构

>>> number_list = [1, 2, 3, 4]
>>> print number_list.count(4)
>>> 1
不要使用
list
count
作为变量名,因为可能会与这些名称的内置含义混淆。特伦斯·希尔的答案很好,但如果列表很长,则会占用更多内存,因为它在找到其大小之前会构建一个完整的列表。我的是生成器表达式,从不生成完整列表。ZdaR的答案是最具Python风格的,因为它使用了Python的内置功能,可能是最快的,并且使用的内存最少。这个答案与您实际提出的问题最为接近。

len([i=x时列表中的i代表i])
number_count = sum(1 for i in number_list if i == x)