どのように各単語の最初の文字を取って、関連付けられた単語を含む辞書のキーとして保存しますか?単語の最初の文字をキーとして保存し、関連する単語を値として保存しますか?
list = ['pine', 'dinner', 'liver', 'love', 'pick']
出力:
dictionary = {'p' : ['pine', 'pick'], 'd' : ['dinner'], 'l' : ['love', 'liver']}
どのように各単語の最初の文字を取って、関連付けられた単語を含む辞書のキーとして保存しますか?単語の最初の文字をキーとして保存し、関連する単語を値として保存しますか?
list = ['pine', 'dinner', 'liver', 'love', 'pick']
出力:
dictionary = {'p' : ['pine', 'pick'], 'd' : ['dinner'], 'l' : ['love', 'liver']}
これはそれを行う必要があり、私は思います。
dictionary = {}
list = ['pine', 'dinner', 'liver', 'love', 'pick']
for i in list:
if i[0] not in dictionary.keys():
dictionary[i[0]] = []
dictionary[i[0]].append(i)
使用して、デフォルト辞書です我々は単にそれを行うことができます。
from collections import defaultdict
list_ = ['pine', 'dinner', 'liver', 'love', 'pick']
x = defaultdict(list)
for item in list_:
x[item[0]].append(item)
print(x)
# defaultdict(<class 'list'>, {'p': ['pine', 'pick'], 'd': ['dinner'], 'l': ['liver', 'love']})
あなたはその後、使用することができますx
を辞書のように:
print(x['p'])
#['pine', 'pick']
Dict = dict()
# iterate over the collection
for word in words:
# get the first letter
letter = word[0]
# the default value for key 'letter'
# will be an empty list
# if the key isn't present yet
# otherwise, nothing's changed
Dict.setdefault(letter, [])
# now you are sure that there's a list at that key
Dict[letter].append(word)
試してみてください。
list = ['pine', 'dinner', 'liver', 'love', 'pick']
d= dict()
for item1 in list:
li=[]
for item2 in list:
if item1[0]==item2[0]:
li.append(item2)
d[item1[0]]= li
print d