Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
517 views
in Technique[技术] by (71.8m points)

python - How to insert duplicated values in dictionary?

I have dct = {'word1': 23, 'word2': 12, 'word1' : 7, 'word2':2} and I need to get list when keys dont duplicate and contain all values of from dictionary

f.e.: lst = ('word1 23 7', 'word2 12 2')

Is there any possibility to make it like this in Python?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can't have what you describe. You could have this:

dct = {}

dct['word1'] = 23
dct['word2'] = 12
dct['word1'] = 7
dct['word2'] = 2

But at the end all you'd end up with is this:

{'word1': 7, 'word2': 2}

Keys in a dictionary cannot be repeated. If your code is actually set up like my first example, what you may want is this:

from collections import defaultdict

dct = defaultdict(list)

dct['word1'].append(23)
dct['word2'].append(12)
dct['word1'].append(7)
dct['word2'].append(2)

After which you'll have this:

defaultdict(<type 'list'>, {'word1': [23, 7], 'word2': [12, 2]})

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...