搜索列表中的某个项目的数量

时间:2014-11-17 15:26:53

标签: python python-3.x for-loop

我想在列表中查找某个项目,但列表中可能有多个此项目,但我希望它能够对列表中的每个项目执行某些操作。

例如:

list = ["1", "1", "2"]
for "1" in list:
    print ("hi")

对于列表中的2个'hi',它应该打印'1'两次。

3 个答案:

答案 0 :(得分:0)

您可以使用python的内置过滤器语法轻松完成此操作:

def hi(number, lst):
    for item in (element for element in lst if element == number):
        print('hi')

这种方法优于其他方法的优势在于,如果您愿意,您可以在迭代时实际使用符合条件的元素。

用法:

>>>hi(1,[1,1,2])
hi
hi

答案 1 :(得分:0)

您可以使用count方法执行此操作:

lst = ["1", "1", "2"]
for i in range(lst.count("1")):
   print "Hi"

单线

print "Hi\n" * lst.count("1")

注意:我更改了变量名称' list'到了'作为避免python的关键字覆盖的好习惯。

答案 2 :(得分:0)

我认为这是最简单,最易读的语法。它确切地说明它的作用,不导入任何模块,不调用函数并且不创建临时变量。用item作为参数替换任何比较和任何函数都很容易。

for item in lst:
    if element == number:
        print('hi')