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