在不使用list.count的情况下计算列表中项目的出现次数
我想知道怎么在不使用 .count()
函数的情况下,计算一个列表中某个项目出现的次数。比如,我知道如果我有一段代码像这样运行:
>>> [1,2,3,1,2,1].count(1)
那么它会输出 3
。
为了更清楚一点,我想具体了解一下,怎么能得到这个输出 3
,而不使用 .count()
。
4 个回答
0
当然可以!请看下面的内容:
在编程中,我们常常需要处理一些数据,比如从一个地方获取数据,然后把它放到另一个地方。这就像把书从一个书架搬到另一个书架一样。为了做到这一点,我们通常会用到一些工具和方法。
有时候,我们会遇到一些问题,比如数据格式不对,或者数据丢失。这就像在搬书的时候,发现有些书掉在地上了,或者有些书的封面破了。为了避免这些问题,我们需要仔细检查每一步,确保数据在搬运过程中不会出错。
在编程中,调试就是找出这些问题的过程。就像你在搬书的时候,发现有书掉了,你需要回去找找看是哪里出了问题。通过调试,我们可以一步一步地检查代码,找到并修复错误。
总之,处理数据就像搬书一样,需要小心翼翼,确保每一步都做对了,这样才能顺利完成任务。
len([a for a in [1,2,3,1,2,1] if a == 1])
7
你可以像这样使用一个for循环
x = [1,2,3,1,2,1]
count = 0
for i in x:
if i == 3:
count+= 1
print count
4
有很多种方法可以做到这一点:
x = [1,2,3,1,2,1]
count = len([i for i in x if i == 1])
print count
还有另一种方法:
>>> from collections import Counter
>>> counter = Counter(x)
Counter({1: 3, 2: 2, 3: 1})
>>> counter.get(1)
3
>>>