在迭代过程中在同一行上打印dict的值和下一个值

时间:2018-10-29 02:03:09

标签: python python-2.7

我正在尝试遍历字典“ rooms”的键,并且每行仅显示两个键。

当前代码:(Python 2.7)

rooms = {
"105": "Room",
"128": "Room",
"101": "Room",
"102": "Room",
"103": "Room",
"104": "Room"}

for room, nextroom in zip(rooms.keys(), rooms.keys()[1:]):
    print room, nextroom

当前输出:

102 128
128 103
103 101
101 104
104 105

目标输出:

102 128
103 101
104 105

2 个答案:

答案 0 :(得分:4)

您可以使用 iter

keys = iter(rooms.keys())
for key in keys:
    print key, next(keys)

答案 1 :(得分:1)

将键投射到列表后,只需遍历该列表并分两批抓取它们即可。在Python 2中,您可以结合使用xrange和以下参数来达到预期的效果:

room_keys = rooms.keys()

for i in xrange(0, len(rooms), 2): 
  print room_keys[i], room_keys[i + 1]