Мне интересно, есть ли лучший способ перебирать два элемента в списке за раз. Я много работаю с Maya, и одна из ее команд (listConnections) возвращает список переменных значений. Список будет иметь вид [connectionDestination, connectionSource, connectionDestination, connectionSource]. Чтобы сделать что-нибудь с этим списком, я в идеале хотел бы сделать что-то подобное:
for destination, source in cmds.listConnections():
print source, destination
Вы можете, конечно, просто перебирать каждый другой элемент в списке, используя [:: 2], а enumerate и source будет index + 1, но тогда вам придется добавить дополнительные проверки для нечетных списков и прочего.
Самое близкое, что я придумал, это:
from itertools import izip
connections = cmds.listConnections()
for destination, source in izip(connections[::2], connections[1::2]):
print source, destination
Это не очень важно, так как у меня уже есть способы делать то, что я хочу. Это просто похоже на одну из тех вещей, которые должны быть лучше.