Фиксируйте различия между локальным и удаленным

Хотя понимание списка является полностью верным ответом, поскольку вы просто меняете тип, возможно, стоит рассмотреть альтернативу встроенный map() встроенный :

>>> list_of_tuples = [(1, 2), (4, 5)]
>>> map(list, list_of_tuples)
[[1, 2], [4, 5]]

Встроенный модуль map() просто применяет вызываемый к каждому элементу заданного итерабельного. Это делает его полезным для этой конкретной задачи. В общем, понимание списков более читабельно и эффективно (что-то сложное с map() вам нужно lambda), но там, где вы хотите просто изменить тип, map() может быть очень ясным и быстрым.

Обратите внимание, что я использую 2.x здесь, поэтому мы получаем список. В 3.x вы получите итерируемый (который ленив), если вам нужен список в 3.x, просто сделайте list(map(...)). Если вы в порядке с итерируемым для ваших целей, itertools.imap() предоставляет ленивый map() в 2.x.

13
задан ack 14 August 2011 в 16:03
поделиться