[英]How to create a dictionary from a given list?
我正在尝试从给定的列表中创建一个字典,知道该键将是该单词的第一个字母,并且具有相同首字母的那些将相应地添加到 1 个键。 请大家帮帮我好吗?
words= ['apple', 'bible','bird' ,'candy', 'day', 'elephant','friend']
一个更pythonic的解决方案:
import collections
words= ['apple', 'bible','bird' ,'candy', 'day', 'elephant','friend']
d = collections.defaultdict(list)
for w in words:
d[w[0]].append(w)
d = dict(d)
Output
{
"a": ["apple"],
"b": ["bible", "bird"],
"c": ["candy"],
"d": ["day"],
"e": ["elephant"],
"f": ["friend"],
}
words= ['apple', 'bible','bird' ,'candy', 'day', 'elephant','friend']
def make_dict(words):
di = {}
for item in words:
if item[0] in di:
di[item[0]] += [item]
else:
di[item[0]] = [item]
return di
只是另一种选择:
from collections import defaultdict
words = ['apple', 'bible','bird' ,'candy', 'day', 'elephant','friend']
word_dict = defaultdict(lambda: [])
list(map(lambda word: word_dict[word[0]].append(word), words))
print(dict(word_dict))
结果是:
{'a': ['apple'], 'b': ['bible', 'bird'], 'c': ['candy'], 'd': ['day'], 'e': ['elephant'], 'f': ['friend']}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.