Можно создать дубликат:
A Transpose/Unzip Function in PythonРасщепление список последовательностей в два списка эффективно
У меня есть список последовательностей, каждая последовательность имеет два элемента. Я хотел бы превратить это в два списка.
catalog = [('abc', '123'), ('foo', '456'), ('bar', '789'), ('test', '1337')]
Прямо сейчас я просто делаю это:
names = []
vals = []
for product in catalog:
names.append(product[0])
vals.append(product[1])
print (names)
print (vals)
, который выводит два списка, и работает просто отлично:
['abc', 'foo', 'bar', 'test']
['123', '456', '789', '1337']
Есть аккуратнее, более 'вещий' путь делать это? Или я должен придерживаться того, что у меня есть? Любые исправления или отзывы о стиле программирования приветствуются, я новичок и стараюсь изучить лучшие практики.
Это идеальный вариант, спасибо! Раньше я никогда не слышал об этой функции. Я связываюсь с документацией для этой функции, для будущих читателей. http://docs.python.org/3.3/library/functions.html#zip –
Это красноречиво и просто, но насколько оно выполнено? На любом другом языке создание zillion параметров было бы ужасно. –
@MarkRansom - Я тоже об этом задумывался ... – mgilson