Если у вас есть списки, которые не имеют одинаковой длины, вы можете не захотеть использовать zip в соответствии с ответом Patricks. Это работает:
>>> zip(*[('a', 1), ('b', 2), ('c', 3), ('d', 4)])
[('a', 'b', 'c', 'd'), (1, 2, 3, 4)]
Но с разными списками длины zip обрезает каждый элемент до длины кратчайшего списка:
>>> zip(*[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', )])
[('a', 'b', 'c', 'd', 'e')]
Вы можете использовать карту без функции для заполнения пустые результаты с None:
>>> map(None, *[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', )])
[('a', 'b', 'c', 'd', 'e'), (1, 2, 3, 4, None)]
zip () немного быстрее, хотя.
Попробовали ли вы установить свойство DisplayAlerts
на Application
на false
?
. Если вы попытаетесь это сделать, то, что нужно знать, - это то, что Excel выберет ответ по умолчанию на диалог. Вы можете прочитать здесь свойство здесь .