我们如何在python中组合IF语句和FOR循环。喜欢
GET
我们如何将第4,5,6行合并为一行?这可能吗?
答案 0 :(得分:1)
是的,可能是,你要做的是计算数字的出现次数,Python List已经有一个方法count()
来完成工作。但是你应该避免使用变量名称list
它会影响Python list
数据结构。
>>> number_list = [1, 2, 3, 4]
>>> print number_list.count(4)
>>> 1
答案 1 :(得分:1)
number_count = sum(1 for i in number_list if i == x)
不要使用list
或count
作为变量名称,因为可能会混淆这些名称的内置含义。 Terence Hill的答案很好,但是如果列表很长,它将使用更多的内存,因为它在找到它的大小之前构建了一个完整的列表。我是一个生成器表达式,永远不会构建完整的列表。 ZdaR的答案是最pythonic,因为它使用Python的内置功能,可能是最快的,使用最少的内存。这个答案最接近你实际问的答案。