Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Манипуляции с элементами списка 
V
    Опции темы
PyAlexey
Дата 29.9.2006, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Есть два списка:
Код

X = [1,2,3,4,5]
Y = [6,7,8,9,0]

Необходимо сделать следующий вложенный список:
Код

XY = [[1,6],[2,7],[3,8],[4,9],[5,0]]

То есть каждый подсписок должен состоять из двух элементов X и Y.
Как это сделать наиболее красиво и читаемо?
PM   Вверх
setq
Дата 29.9.2006, 17:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











XY = map(list, zip(X, Y)) ?


Нее. Некрасиво и нечитаемо. Ненавижу onelineры)

Это сообщение отредактировал(а) setq - 29.9.2006, 17:32
  Вверх
PyAlexey
Дата 29.9.2006, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



setq, благодарю! Ведь знал, что в Питоне должно быть что-то подобное.
PM   Вверх
ser_gen
Дата 29.9.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 25.9.2006

Репутация: 1
Всего: 1



Можно еще проще:
Код

a=[1,2,3,4,5]

b=[6,7,8,9,10]

print zip(a,b)


[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]
PM MAIL   Вверх
PyAlexey
Дата 29.9.2006, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



ser_gen, здесь уже кортеж получается.
PM   Вверх
ser_gen
Дата 29.9.2006, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 25.9.2006

Репутация: 1
Всего: 1



сорррррррри   smile  , мой косяк smile
PM MAIL   Вверх
dvska
Дата 1.10.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 30.1.2006

Репутация: 6
Всего: 9



По мне -- вот так читабельно:
Код
X = [1,2,3,4,5]
Y = [6,7,8,9,0]
XY = []
for n,x in enumerate(X):
    XY.append( [x, Y[n]] )
print XY

--------------------
PM MAIL   Вверх
pythonwin
Дата 2.10.2006, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



а если списки не равны по длине?
PM WWW GTalk Jabber   Вверх
albertn
Дата 2.10.2006, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(setq @  29.9.2006,  17:20 Найти цитируемый пост)
Нее. Некрасиво и нечитаемо. Ненавижу onelineры)

Мне очень часто приходится обрабатывать списки, и код который получается в результате очень нечитабелен из-за обилия циклов. ИМХО обработка списков должна занимать как-можно меньше места в программе, чтобы визуально выделить основную часть кода, не вдаваясь в мелочи.

PS. Всегда мечтал, чтобы мелочам уделялось гораздо меньше места чем основному коду (на других языказ это больше как правило).
PM WWW ICQ   Вверх
pythonwin
Дата 2.10.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(albertn @  2.10.2006,  18:34 Найти цитируемый пост)
Мне очень часто приходится обрабатывать списки, и код который получается в результате очень нечитабелен из-за обилия циклов. ИМХО обработка списков должна занимать как-можно меньше места в программе, чтобы визуально выделить основную часть кода, не вдаваясь в мелочи.

PS. Всегда мечтал, чтобы мелочам уделялось гораздо меньше места чем основному коду (на других языказ это больше как правило). 

думаю, что это можно решить через:
  • функ-ое программирование
  • модульность
  • при помощи маленьких процедур, которые бы автоматизировали мелочи

PM WWW GTalk Jabber   Вверх
albertn
Дата 2.10.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(pythonwin @  2.10.2006,  11:44 Найти цитируемый пост)
функ-ое программирование

Использую как могу
Цитата(pythonwin @  2.10.2006,  11:44 Найти цитируемый пост)
модульность

В программе на 50 строчек смотрится глупо.
Цитата(pythonwin @  2.10.2006,  11:44 Найти цитируемый пост)
при помощи маленьких процедур, которые бы автоматизировали мелочи

Ну это только если повторяются части. А если повторяются, то естестно использую.

К тому-же чем мне нравится фп - его можно использовать в TAL, т.к. в нем одно выражение - одна строчка.
PM WWW ICQ   Вверх
pythonwin
Дата 2.10.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(albertn @  2.10.2006,  19:02 Найти цитируемый пост)

В программе на 50 строчек смотрится глупо.

у меня проги обычно в несколько раз больше smile
PM WWW GTalk Jabber   Вверх
albertn
Дата 2.10.2006, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(pythonwin @ 2.10.2006,  12:19)
у меня проги обычно в несколько раз больше smile

Я практически все программы пишу на Zope, что само собой подразумевает модульность.
Для шаблонов страниц использую ZPT, которому редко что надо передавать в параметрах (в нем самом можно все указать)
По-этому проги выходят небольшими, и каждая отвечает только за определенное ей действие.
Исключение бывает если писать продукты. Но там само собой даже сотней строк не отделаешься. Но продукты писать приходистя очень редко.
PM WWW ICQ   Вверх
pythonwin
Дата 2.10.2006, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



ясно! smile
PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1187 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.