Python 如何单步遍历列表并累加一个整数值,告诉基于它的元素的次数';在名单中的位置被看到了
我想看看一个元素在列表中出现了多少次 例如:Python 如何单步遍历列表并累加一个整数值,告诉基于它的元素的次数';在名单中的位置被看到了,python,list,for-loop,counter,Python,List,For Loop,Counter,我想看看一个元素在列表中出现了多少次 例如: list = [125,130,140,123,125,140,130,140] 我想计算出位置0(这里是125)的元素在列表中出现了多少次,并用计数器累积值。对于位置0的元素,我希望得到int,2 您可以使用计数器: from collections import Counter my_list = [125,130,140,123,125,140,130,140] Counter(my_list) 输出: Counter({140: 3, 1
list = [125,130,140,123,125,140,130,140]
我想计算出位置0(这里是125)的元素在列表中出现了多少次,并用计数器累积值。对于位置0的元素,我希望得到int,2 您可以使用
计数器:
from collections import Counter
my_list = [125,130,140,123,125,140,130,140]
Counter(my_list)
输出:
Counter({140: 3, 130: 2, 125: 2, 123: 1})
您可以使用计数器
:
from collections import Counter
my_list = [125,130,140,123,125,140,130,140]
Counter(my_list)
输出:
Counter({140: 3, 130: 2, 125: 2, 123: 1})
实际上,不需要复杂的机械:
>>> l = [1, 2, 3, 2]
>>> l.count(l[1])
2
实际上,不需要复杂的机械:
>>> l = [1, 2, 3, 2]
>>> l.count(l[1])
2
使用列表理解和len
:
count = len([l for l in list if l == list[n]])
其中n
是您正在计算的项目的索引。使用列表理解和len
:
count = len([l for l in list if l == list[n]])
其中,n
是您正在计算的项目的索引。您可以将它们存储在带有dict理解功能的词典中(其工作原理与列表理解功能完全相同):
此外,将你的名单命名为“名单”也是一种不好的做法。这将与Python中内置的list函数冲突。您可以将它们存储在具有dict comprehension(其工作原理与list comprehension完全相同)的字典中:
def foo(pos, values):
counter = 0
element_to_find = values[pos]
for element in values:
if element == element_to_find:
counter += 1
return counter
此外,将你的名单命名为“名单”也是一种不好的做法。这将与Python中内置的list函数冲突。当所有OP需要计算一个项目时,与list.count(以C速度运行)相比,它的效率如何?@AshwiniChaudhary counter在计算多个元素时更有效sop从未要求计算所有项目。@AshwiniChaudhary我刚刚给出了想法,对于这个问题,你能做到更多是一个坏主意,而且效率也很低。当所有OP需要的都是一个项目的计数时,与list.count
(以C速度运行)相比,这个效率如何?@AshwiniChaudhary counter在计算多个元素时效率更高sop从未要求计算所有项目。@AshwiniChaudhary我刚刚给出了一个想法,这个问题的答案是错误的,而且效率也很低。your\u list.count(your\u list[0])
有什么问题吗?your\u list.count(your\u list[0])
有什么问题吗?
def foo(pos, values):
counter = 0
element_to_find = values[pos]
for element in values:
if element == element_to_find:
counter += 1
return counter