我的OrderedDict
包含5个键值对,它们产生单词"Belle"
。每个字母都有自己的键,值从1到5,从左到右,B = 1
,e = 2
等。打印这个OrderedDict
只返回3个字母,B
,l
和e
。注意,它没有打印重复的e
和l
。在下面的代码中,我使用for
语句来打印"Belle"
,以便它可以垂直打印。我的目标是打印完整的单词"Belle
"垂直方向,每个字母作为一个键及其值对。
text6 = OrderedDict({'B':1, 'e':2, 'l':3, 'l':4, 'e':5})
for key, value in text6.items():
print(key, value)
上面的代码返回:
B 1
e 5
l 4
Desried输出:
B 1
e 2
l 3
l 4
e 5
要求dict
(包括OrderedDict
)做你要求它做的事情是不可能的。任何类型的dict
都只能包含唯一键。所有随后添加的预先存在的键都将覆盖该键并重置其值。
为了得到您想要看到的输出,我们可以使用不同的数据结构。在这个实现中,我们使用一个list
,它将包含一个tuple
,用于我们通过迭代"Belle"获得的每个(值,索引)对。使用enumerate
list((v, i) for i, v in enumerate("Belle", 1))