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

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

den4ik
В строну си отправлять не нужно.
Отправлю в сторону литературы, где описана идеология Python.
den4ik
Budulianin
Закончу оффтоп - правила созданы что бы их нарушать.
Budulianin
den4ik
Закончу оффтоп - правила созданы что бы их нарушать.

Нет, наши правила созданы, чтобы облегчить нам работу. Чтобы люди понимали твой код.
А кто их систематически нарушает, тот говнокодер.
doza_and
den4ik
По мне так быстрый код более полезен людям, чем красивый
polsa = (code_profit-user_time_cost/code_speed) * Nuser -  development_cost(code_speed) - support_cost(code_speed)
Что тут спорить считать нужно какой код полезнее
py.user.next
Для словаря от 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': ''}
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB