Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 14, 2011 05:13:11

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

Сделать из списка кортежей, двумерный список

Здравствуйте, помогите, пожалуйста, с такой задачей:
Есть список вида:

data = [(q,  2), (w, 3), (r, 5)]
Мне нужно среобразовать этот список кортежей в двумерный список, типа:

data = [[q,  2], [w, 3], [r, 5]]
Есть ли какая-нибудь функция, которая делает такое преобразование, или в этом случае только циклом можно получить нужный список?



Офлайн

#2 Ноя. 14, 2011 05:55:02

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Сделать из списка кортежей, двумерный список

map(list, [(q,  2), (w, 3), (r, 5)])



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано (Ноя. 14, 2011 05:55:33)

Офлайн

#3 Ноя. 14, 2011 06:23:17

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

Сделать из списка кортежей, двумерный список

Большое спасибо, я пока свой вариант написал:

y = [[x[0], x[1]] for x in data]



Офлайн

#4 Ноя. 14, 2011 22:34:11

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9972
Репутация: +  856  -
Профиль   Отправить e-mail  

Сделать из списка кортежей, двумерный список

map() может вернуть итератор

Rumato
Большое спасибо, я пока свой вариант написал:
>>> q, w, r = 1, 2, 3
>>> data = [(q, 2), (w, 3), (r, 5)]
>>> data
[(1, 2), (2, 3), (3, 5)]
>>> data = [list(i) for i in data]
>>> data
[[1, 2], [2, 3], [3, 5]]
>>>



Отредактировано (Ноя. 14, 2011 22:44:21)

Офлайн

#5 Ноя. 15, 2011 03:38:06

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Сделать из списка кортежей, двумерный список

py.user.next
map() может вернуть итератор
Откуда дровишки? В доке http://docs.python.org/library/functions.html#map the result is always a list

ЗЫ: аааа, точно, в ветке 3.x, приношу свои извинения



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано (Ноя. 15, 2011 03:39:47)

Офлайн

#6 Ноя. 15, 2011 04:04:24

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Сделать из списка кортежей, двумерный список

py.user.next
map() может вернуть итератор
Всегда можно написать:
list( map(...) )



Офлайн

#7 Ноя. 15, 2011 06:08:31

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9972
Репутация: +  856  -
Профиль   Отправить e-mail  

Сделать из списка кортежей, двумерный список

Isem
Всегда можно написать:
да, нужно
а то может быть обращение по индексу



Офлайн

#8 Ноя. 27, 2011 02:10:04

baa
От:
Зарегистрирован: 2011-11-25
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Сделать из списка кортежей, двумерный список

Rumato
Большое спасибо, я пока свой вариант написал:

y = [[x[0], x[1]] for x in data]
data = [list(i) for i in data]



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version