gpt4 book ai didi

python - 获取列表中所有元素的增量计数

转载 作者:行者123 更新时间:2023-12-02 03:02:48 25 4
gpt4 key购买 nike

我有一个包含 2400 万个元素的列表,我想迭代地增加每个元素的计数,并以更快的方式将计数存储在另一个列表中。例如,我的列表是:

a=['自行车','自行车','吉普车','马','马','马','飞行','飞行','自行车']

我的预期输出是

[1, 2, 1, 1, 2, 3, 1, 2, 1]

我使用的代码是

z=[]
for i in a:
z.append(a.count(i))

但是我的输出有点不同

[2, 2, 1, 3, 3, 3, 2, 2, 1]

我对这个新创建列表的顺序也很重要,应该基于我的列表(a)。非常感谢任何帮助。

最佳答案

根据您的预期输出,由于您需要直到您在该时间点迭代的列表索引为止的元素计数,因此以下代码应该有效:

from collections import defaultdict

a=['bike','bike','jeep','horse','horse','horse','flight','flight','cycle']

a_dict = defaultdict(int)
a_output = []

for x in a:
a_dict[x] += 1
a_output.append(a_dict[x])

print(a_output)

输出:

[1, 2, 1, 1, 2, 3, 1, 2, 1]

关于python - 获取列表中所有元素的增量计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59701363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com