Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 21, 2014 21:11:12

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Заменить значение в словаре

GreyZmeem
Но для каждого это “правильно” разное
Читайте PEP, учите «The Zen of Python», пишите код для людей, а не для машин и не капитаньте слишком много. Тогда “правильно” будет у всех одинаково и всё у нас будет хорошо. :)



Отредактировано Budulianin (Авг. 21, 2014 21:13:30)

Офлайн

#2 Авг. 21, 2014 21:21:17

den4ik
Зарегистрирован: 2014-07-20
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

Заменить значение в словаре

Budulianin
По мне так быстрый код более полезен людям, чем красивый. В строну си отправлять не нужно.

Отредактировано den4ik (Авг. 21, 2014 21:21:47)

Офлайн

#3 Авг. 21, 2014 21:28:32

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Заменить значение в словаре

den4ik
По мне так быстрый код более полезен людям, чем красивый.

Нет, людям(разработчикам) полезнее красивый(он же часто, простой, читабельный) код.
А скорость приложения, зависит не только от кода. К тому же скорость исполнения, это не про Python.

den4ik
В строну си отправлять не нужно.
Отправлю в сторону литературы, где описана идеология Python.



Отредактировано Budulianin (Авг. 21, 2014 21:30:52)

Офлайн

#4 Авг. 21, 2014 21:32:22

den4ik
Зарегистрирован: 2014-07-20
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

Заменить значение в словаре

Budulianin
Закончу оффтоп - правила созданы что бы их нарушать.

Офлайн

#5 Авг. 21, 2014 21:44:26

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Заменить значение в словаре

den4ik
Закончу оффтоп - правила созданы что бы их нарушать.

Нет, наши правила созданы, чтобы облегчить нам работу. Чтобы люди понимали твой код.
А кто их систематически нарушает, тот говнокодер.



Офлайн

#6 Авг. 21, 2014 22:22:52

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Заменить значение в словаре

den4ik
По мне так быстрый код более полезен людям, чем красивый
polsa = (code_profit-user_time_cost/code_speed) * Nuser -  development_cost(code_speed) - support_cost(code_speed)
Что тут спорить считать нужно какой код полезнее



Отредактировано doza_and (Авг. 21, 2014 22:27:47)

Офлайн

#7 Авг. 21, 2014 22:54:25

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

Заменить значение в словаре

Для словаря от GreyZmeem.

>>> d = {
...     "name": {
...         "first": "One",
...         "last": "Drone",
...     },
...     "job": "scout",
...     "recent": {},
...     "additional": {
...         "place": {
...             "zone": "1",
...             "cell": "2",
...             "test": {},
...         },
...     },
... }
>>> 
>>> def f(d, of, ot):
...     for k in d:
...         e = d[k]
...         if e == of:
...             d[k] = ot
...         elif isinstance(e, dict):
...             f(e, of, ot)
...     return d
... 
>>> f(d, {}, '')
{'additional': {'place': {'zone': '1', 'cell': '2', 'test': ''}}, 'recent': '', 'job': 'scout', 'name': {'last': 'Drone', 'first': 'One'}}
>>>



Budulianin
eval(re.sub(r'{}', "''", str(d)))

Переусердствовал немного.

eval(str(d).replace('{}', '""'))

Сюрприз. Хакнул? Получай!
>>> d = {'ok': {}, 'surprise {} ': 'tram {} pam {} pam'}
>>> 
>>> eval(str(d).replace('{}', '""'))
{'surprise "" ': 'tram "" pam "" pam', 'ok': ''}
>>>



Отредактировано py.user.next (Авг. 21, 2014 23:11:46)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version