Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 18, 2011 21:50:30

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

Аналог array_map в python

Я как бывший php-шник ущю аналог функции array_map в python для работы со словарём:

http://php.net/manual/en/function.array-map.php

Казалось бы map должен подойти, но на выходе у map получается список, а не словарь.

Я в курсе что можно написать вот так:

temp = {}
for key, value in dictionary.iteritems():
temp[key] = call_function(value)
но мне хочеться использовать возможности python на максимум, и я полагаю, что такой код можно сократить до одной строки. Вот тока пока не совсем представляю как.

Благодарю заранее за помощь.



Отредактировано (Янв. 18, 2011 22:24:57)

Офлайн

#2 Янв. 18, 2011 22:24:23

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Аналог array_map в python

есть dict comprehensions {key: call_function(value) for key, value in dictionary.iteritems()}



Офлайн

#3 Янв. 18, 2011 22:34:20

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

Аналог array_map в python

@bazooka
А в python 2.5 должно работать?
У меня python ругается на такую конструкцию: SyntaxError: invalid syntax

Разобрался:
Нашёл решение тут: http://www.python.org/dev/peps/pep-0274/

dict([(key, call_function(value)) for key, value in dictionary.iteritems()])



Отредактировано (Янв. 18, 2011 23:12:31)

Офлайн

#4 Янв. 19, 2011 06:47:14

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Аналог array_map в python

Antik
Нашёл решение тут: http://www.python.org/dev/peps/pep-0274/
Уберите только квадратные ковычки.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version