Вывести значение и следующее значение dict в той же строке во время итерации - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь перебрать ключи словаря "комнаты" и показать только два ключа в строке.

Текущий код: (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 голосов
/ 29 октября 2018

Вы можете использовать iter :

keys = iter(rooms.keys())
for key in keys:
    print key, next(keys)
0 голосов
/ 29 октября 2018

После того, как вы разыграете ключи в списке, вам нужно просто пройтись по этому списку и собрать их двумя партиями. В Python 2 вы можете использовать xrange вместе со следующими аргументами, чтобы получить желаемый эффект:

room_keys = rooms.keys()

for i in xrange(0, len(rooms), 2): 
  print room_keys[i], room_keys[i + 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...