将列表更改为具有随机值的词典

2024-10-02 22:25:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我们怎样把一张单子变成一本字典?你知道吗

例如,我们想把列表l=["cat","dog","elephant","chicken","lion"]变成{"cat":0, "dog":1,"elephan":2, "chicken":3, "lion":4} 我想我可以通过dict.fromkeys(l, 0)得到一个所有值都等于0的字典。但我需要一本有不同价值观的字典


Tags: 列表字典dictcat单子dog价值观chicken
2条回答

如果想要得到单词的频率,可以使用collections中的Counter。dict的fromkeys方法不接受callable作为它的第二个参数的值,否则您可以使用dict理解而不受任何限制!你知道吗

>>> from collections import Counter
>>> l=["cat","dog","elephant","chicken","lion"]
>>> d=Counter(l)
>>> d
Counter({'cat': 1, 'dog': 1, 'elephant': 1, 'chicken': 1, 'lion': 1})

您可以尝试以下代码:

import random

l=["cat","dog","elephant","chicken","lion"] # keys
value = random.sample(range(1, 100), len(l)) # values

my_dict = list(zip(l,value))
my_dict = dict(my_dict)

print(my_dict)

相关问题 更多 >