如何从OrderedDict中打印重复项?



我的OrderedDict包含5个键值对,它们产生单词"Belle"。每个字母都有自己的键,值从1到5,从左到右,B = 1,e = 2等。打印这个OrderedDict只返回3个字母,B,le。注意,它没有打印重复的el。在下面的代码中,我使用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))

相关内容

  • 没有找到相关文章

最新更新