gpt4 book ai didi

python - 需要在文件中找到前 10 个使用过的姓氏。制作了一本字典,但需要对其余部分进行排序

转载 作者:行者123 更新时间:2023-12-02 16:06:14 24 4
gpt4 key购买 nike

我制作了一个姓氏词典,其中包含这样的姓氏:

--文件包含 200 000 个单词,这是 surname_dict 上的示例--

['KRISTIANSEN', 'OLDERVIK', 'GJERSTAD', 'VESTLY SKIVIK', 'NYMANN', 'ØSTBY', 'LINNERUD', 'REMLO', 'SKARSHAUG', 'ELI', 'ADOLFSEN']

我不允许使用计数器库或 numpy,只能使用原生 Python。我的想法是在字典中使用 for 循环排序,但只是碰壁了。请帮忙提供一些建议。

谢谢。

surname_dict = []
count = 0
for index in data_list:
if index["lastname"] not in surname_dict:
count = count + 1
surname_dict.append(index["lastname"])

for k, v in sorted(surname_dict.items(), key=lambda item: item[1]):
if count < 10: # Print only the top 10 surnames
print(k)
count += 1
else:
break

最佳答案

如评论中所述,您的字典实际上是一个列表。

尝试使用集合库中的 Counter 对象。在下面的示例中,我编辑了您的列表,使其包含一些重复项。

from collections import Counter

surnames = ['KRISTIANSEN', 'OLDERVIK', 'GJERSTAD', 'VESTLY SKIVIK', 'NYMANN', 'ØSTBY', 'LINNERUD', 'REMLO', 'SKARSHAUG', 'ELI', 'ADOLFSEN', 'OLDERVIK', 'ØSTBY', 'ØSTBY']

counter = Counter(surnames)

for name in counter.most_common(3):
print(name)

结果变成:

('ØSTBY', 3)
('OLDERVIK', 2)
('KRISTIANSEN', 1)

根据您的用例,将 most_common 的整数参数更改为 10。

关于python - 需要在文件中找到前 10 个使用过的姓氏。制作了一本字典,但需要对其余部分进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69318393/

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