我有一个整数列表,例如:[10, 20, 50, 30]
,我想在另一个列表中计算这些整数的出现。
例如,如果第一个列表中的10
在第二个列表中出现两次,其余整数仅出现一次,则输出必须为:[[10:2], [20:1], [50:1], [30:]]
我尝试使用以下代码,但出现错误:AttributeError: 'int' object has no attribute 'extend'
。我在做什么错了?
for i in range(0,len(s)):
s[i].append([])
for j in range(0,len(ar)):
if s[i]==ar[j]:
s[i][0]+=1
我正在尝试实现某种哈希映射,请分享您可能拥有的任何更好的方法。谢谢!
答案 0 :(得分:1)
Counter对象非常适合该任务。
from collections import Counter
wanted = [10, 20, 50, 30]
other_list = [10, 20, 10, 40, 60, 50, 100, 70]
wanted_set = frozenset(wanted)
counts = Counter([number for number in other_list if number in wanted_set])
print(counts)
# Access the count for every number.
for number in counts:
print('{0}: {1}'.format(number, counts[number]))
答案 1 :(得分:-1)