如何从给定的列表创建字典?

0 python dictionary

我正在尝试从给定的列表中创建一个字典,知道键将是该单词的第一个字母,并且那些具有相同首字母的将相应地添加到 1 个键。请你们帮帮我好吗?

words= ['apple', 'bible','bird' ,'candy', 'day', 'elephant','friend']
Run Code Online (Sandbox Code Playgroud)

Jay*_*ody 6

一个更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)
Run Code Online (Sandbox Code Playgroud)

输出

{
    "a": ["apple"],
    "b": ["bible", "bird"],
    "c": ["candy"],
    "d": ["day"],
    "e": ["elephant"],
    "f": ["friend"],
}
Run Code Online (Sandbox Code Playgroud)