Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用奇数项在迭代期间在同一行上打印dict的值和下一个值_Python_Python 2.7_Dictionary_Iteration - Fatal编程技术网

Python 使用奇数项在迭代期间在同一行上打印dict的值和下一个值

Python 使用奇数项在迭代期间在同一行上打印dict的值和下一个值,python,python-2.7,dictionary,iteration,Python,Python 2.7,Dictionary,Iteration,(Python2.7)在我的上一个问题中,我试图迭代字典“rooms”的键,并且每行只显示两个键,如何一次显示奇数个房间?更具体地说,每行两个,直到只剩下一个,并且只有那个一个将自己走在一条线上 当前代码: rooms = { "101": "Classroom", "102": "Bathroom", "103": "Room", "104": "Room", "105": "Room", "106": "Room"} keys = iter(sorted(rooms.keys()))

(Python2.7)在我的上一个问题中,我试图迭代字典“rooms”的键,并且每行只显示两个键,如何一次显示奇数个房间?更具体地说,每行两个,直到只剩下一个,并且只有那个一个将自己走在一条线上

当前代码:

rooms = {
"101": "Classroom",
"102": "Bathroom",
"103": "Room",
"104": "Room",
"105": "Room",
"106": "Room"}


keys = iter(sorted(rooms.keys()))
for key in keys:
    print key + "    " + next(keys)
电流输出:

101    102
103    104
105    106
目标产出:

101    102
103    104
105    106
107

尽管制作
列表并检查是否已结束可能要简单得多。

或者使用
枚举

from __future__ import print_function

per_line = 2
keys = iter(sorted(rooms.keys()))
for i, key in enumerate(keys):
    if (i + 1) % per_line == 0 or (i + 1) == len(rooms.keys()):
        print(key)
    else:
        print(key, end="\t")
使用可选的第二个参数作为迭代器耗尽时返回的默认值

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

如果你有偶数个键(就像你在示例字典中做的那样),那怎么可能呢
keys = iter(sorted(rooms.keys()))
for key in keys:
    print key + "    " + next(keys, "")