![](/img/trans.png)
[英]How do I retrieve pair combinations from a list of pairs without any single element being in more than one pair?
[英]How do I retrieve more than one item pair from a dictionary
有谁知道我如何从字典中检索两对我试图以更紧凑的格式呈现数据
a = {1:'item 1', 2:'item 2', 3:'item 3', 4:'item 4' }
for i,j,k,l in a:
print i, ' - ' ,j , ' , ' ,k, ' - ' ,l
1 - 项目1,2 - 项目2
3 - 项目3,4 - 项目4
编辑 - 抱歉看起来像上面
您可以使用iter()
将已排序的项转换为迭代器,然后遍历该迭代器以获取对。
>>> from itertools import chain
>>> items = iter(sorted(a.items())) #As dicts are unordered
>>> print ' '.join('{} - {} , {} - {}'.format(*chain(x, next(items))) for x in items)
1 - item 1 , 2 - item 2 3 - item 3 , 4 - item 4
获得对的另一种方法是使用zip(*[iter(seq)]*n)
技巧:
>>> items = sorted(a.items())
>>> grouped = zip(*[iter(items)]*2)
>>> print ' '.join('{} - {} , {} - {}'.format(*chain(*x)) for x in grouped)
1 - item 1 , 2 - item 2 3 - item 3 , 4 - item 4
这是你想要的吗:
a = {1:'item 1', 2:'item 2', 3:'item 3', 4:'item 4' }
for i,j in a.items():
print i, ' - ' ,j, ',',
[OUTPUT]
1 - item 1 , 2 - item 2 , 3 - item 3 , 4 - item 4 ,
或者更简单
l = [' - '.join(map(str, i)) for i in a.items()]
>>> print l
1 - item 1, 2 - item 2, 3 - item 3, 4 - item 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.