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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> записать код в одну строку формирование&передачу, списка в функцию 
V
    Опции темы
pythonwin
Дата 16.2.2007, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



помогите пожалуйста записать следующий код в одну строку:
Код

z = 0
for x in xrange(10):
    l=[]
    for y in xrange(4):
        z+=1
        l+=['%s'%(z)]
    app_1(l)


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


Опытный
**


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

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



Если я все правильно понял, то так:
Код

[app_1([str(y+1) for y in xrange(x*4,(x+1)*4)]) for x in xrange(10)]


Добавлено @ 13:30 
Или даже так:
Код

[app_1([str(x*4+y+1) for y in xrange(4)]) for x in xrange(10)]

PM WWW ICQ   Вверх
pythonwin
Дата 16.2.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



albertn, спасибо
++1
PM WWW GTalk Jabber   Вверх
diam
Дата 16.2.2007, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А куда делась z? smile
PM MAIL   Вверх
pythonwin
Дата 16.2.2007, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



в 
Код

[app_1([str(x*4+y+1) for y in xrange(4)]) for x in xrange(10)]

z заменена на x*4+y+1
PM WWW GTalk Jabber   Вверх
sir_Jack
Дата 17.2.2007, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(pythonwin @  16.2.2007,  13:19 Найти цитируемый пост)
записать следующий код в одну строку


вопрос не по теме, но зачем? smile 
PM MAIL   Вверх
V.A.KeRneL
  Дата 17.2.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

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



Цитата(sir_Jack @  17.2.2007, 12:46 Найти цитируемый пост)

вопрос не по теме, но зачем? smile

Ответ, соответственно, тоже: так круччэ-э-э!!! smile

А если серьёзно, то мож сайз-контест какой-нить проходит...



--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
pythonwin
Дата 17.2.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(sir_Jack @  17.2.2007,  15:46 Найти цитируемый пост)

вопрос не по теме, но зачем? smile


Цитата(V.A.KeRneL @  17.2.2007,  15:55 Найти цитируемый пост)
Ответ, соответственно, тоже: так круччэ-э-э!!! smile

слишком много строк "не главного" кода, что сильно снижает читабельность всего кода программы и поэтому стараюсь на не очень важных моментах кода применять ФП  и записывать в наименьшее количество строк, но с главной целью увеличению читабельности основных моментов в программе 
PM WWW GTalk Jabber   Вверх
cherep
Дата 20.2.2007, 02:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(pythonwin)

слишком много строк "не главного" кода, что сильно снижает читабельность всего кода программы и поэтому стараюсь на не очень важных моментах кода применять ФП  и записывать в наименьшее количество строк, но с главной целью увеличению читабельности основных моментов в программе 


Извини, но это глупо. Читабельность только падает. А еще падает надежность такого кода, например, скажи мне как ты будешь отлаживать такую конструкцию в режиме отладчика, ведь она выполнится как одно целое.
Короче, ботать import this до полного усвоения. 

PS. Гвидо не зря очень хотел избавиться от lambda и компании, именно из-за таких вот оптимизаций.
PM MAIL WWW ICQ   Вверх
pythonwin
Дата 20.2.2007, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(cherep @  20.2.2007,  05:41 Найти цитируемый пост)


Извини, но это глупо. Читабельность только падает. А еще падает надежность такого кода, например, скажи мне как ты будешь отлаживать такую конструкцию в режиме отладчика, ведь она выполнится как одно целое.

1) отладчик? отлаживаю код в shell и запускаю, а в стандарном idle в питоне нет отладчика подобного дельфям (а ошибки он и так показывает), хотя в PyScripter там чуть получше
1) в этой теме == http://forum.vingrad.ru/topic-113612/view-all.html есть неплохой код для программиста, которая села на питон 5-6 дней до написания этого кода - вроде код простой и читабельность высокая если ссылаться на  
Цитата(cherep @  20.2.2007,  05:41 Найти цитируемый пост)
Извини, но это глупо. Читабельность только падает
, но читать его очень сложно - в глазах всё мерцает, ответ можно найти посте

Цитата(cherep @  20.2.2007,  05:41 Найти цитируемый пост)
PS. Гвидо не зря очень хотел избавиться от lambda и компании, именно из-за таких вот оптимизаций. 

в питоне 2,5 таких оптимизаций становиться больше чем в 2,4 smile

PS код этого примера приводить не стал приводить не стал - просто не поместиться smile
кстати твой код с подобной оптимизацией smile


PM WWW GTalk Jabber   Вверх
setq
Дата 20.2.2007, 09:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В данном случае соглашусь с cherepом. Читаемость слегка упала.
  Вверх
pythonwin
Дата 20.2.2007, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(setq @  20.2.2007,  12:00 Найти цитируемый пост)
В данном случае соглашусь с cherepом. Читаемость слегка упала. 

здесь в теме был только два вложенных цикла (код из 7 строк), а если их больше и код в сотни строк, где основную часть занимает работа со списками, их проверки? При этом главная часть (сама логикика) всего строк 10, в этом случае стараешься разделять на MVC и "побочная часть", которая отвечает за обработку данных полученных от представления (проверка) и передача данных в представление от основной логики не попадает ни в модель, ни в представление, IMHO
+ сама логика засоряется -> выносим проверку и формирование данных в одельные модули и в отдельные функции (или в методы классов - это кому как нравиться), а потом выясняется что эти проверки/преобразования занимают больше строк кода чем модель или логика, при этом в этих проверках/преобразованиях в основном циклы и условия и работа со словарями и списками, при этом обычно один раз отладил в shell этот код и потом много раз используешь =>  оптимизация кода редко нужна в небольших задачах - напоминаю здесь в начале темы был приведен сильно упрощенный код заурядной для меня задачи

PS по началу тоже был противником использования ФП, но потом попробовав его на своих задачах распробовал, но стараюсь использовать его только там где это необходимо
PM WWW GTalk Jabber   Вверх
setq
Дата 20.2.2007, 10:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(pythonwin @  20.2.2007,  10:03 Найти цитируемый пост)
по началу тоже был противником использования ФП <...>


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


 




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


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

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