我有一本字典,其中包含标题和数据.有没有办法将这些数据拆分为两个列表,同时保持从字典中提取的顺序?我必须分别处理密钥列表和值列表,然后我使用这些列表来构建一个字符串.
这很重要,因为我将它们单独打印出来,输出必须匹配.列表是否无序而不是输入时无关紧要.只要他们的位置在列表中匹配,就可以了.
这是一个表示案例的非常简单的例子:
mydict = {'Hello':1, 'World':2, 'Again':3}
keys = mydict.keys()
values = mydict.values()
print 'The list of keys are: %s' % stringify(keys)
print 'The corresponding values are: %s' % stringify(values)
# Output:
> The list of keys are: Hello, Again, World
> The corresponding values are: 1, 3, 2
Run Code Online (Sandbox Code Playgroud)
我知道我可以构建一个有序的字典然后获得键/值排序将得到保证,但我也想处理这种情况(非有序字典).
即使你看到对的顺序是任意的,假设你不修改字典,输出keys()和values() 将始终对齐.来自文档:
如果调用items(),keys(),values(),iteritems(),iterkeys()和itervalues()而没有对字典进行干预,则列表将直接对应.这允许使用zip()创建(值,键)对:pairs = zip(d.values(),d.keys()).iterkeys()和itervalues()方法的关系相同:pairs = zip(d.itervalues(),d.iterkeys())为对提供相同的值.创建相同列表的另一种方法是在d.iteritems()中对(k,v)的对= [(v,k)].
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |