питонный кортеж

Для кортежа t = ((1, 'a'),(2, 'b')) dict(t) возвращает {1: 'a', 2: 'b'}

Есть ли хороший способ получить {'a': 1, 'b': 2} (ключи и vals заменены)?

Я хочу, чтобы иметь возможность вернуть 1 заданный 'a' или 2 заданный 'b', возможно, преобразование в dict не является лучшим способом.

6 Solutions collect form web for “питонный кортеж”

Пытаться:

 >>> t = ((1, 'a'),(2, 'b')) >>> dict((y, x) for x, y in t) {'a': 1, 'b': 2} 

Несколько более простой метод:

 >>> t = ((1, 'a'),(2, 'b')) >>> dict(map(reversed, t)) {'a': 1, 'b': 2} 

Еще более кратким, если вы находитесь на python 2.7:

 >>> t = ((1,'a'),(2,'b')) >>> {y:x for x,y in t} {'a':1, 'b':2} 
 >>> dict([('hi','goodbye')]) {'hi': 'goodbye'} Or: >>> [ dict([i]) for i in (('CSCO', 21.14), ('CSCO', 21.14), ('CSCO', 21.14), ('CSCO', 21.14)) ] [{'CSCO': 21.14}, {'CSCO': 21.14}, {'CSCO': 21.14}, {'CSCO': 21.14}] 

Если для одного и того же ключа есть несколько значений, следующий код добавит эти значения в список, соответствующий их ключу,

 d = dict() for x,y in t: if(d.has_key(y)): d[y].append(x) else: d[y] = [x] 

Почему вы затрудняетесь? вы можете просто сказать:

 t = ((1, 'a'),(2, 'b')) tdic = dict(t) 
Interesting Posts

В администраторе Django, как я могу скрыть кнопки «Сохранить и продолжить» и «Сохранить и добавить еще» в администраторе модели?

Python: оптимизация или, по крайней мере, свежие идеи для генератора дерева

Как я могу получить исходный код функции Python?

Полосы пробелов / вкладки / новые строки – python

Как модулировать HTTPS-запросы в Flask?

«IOError: zip zip недоступен»: Ubuntu Python PIL

Ошибка PyLint «Не удалось импортировать» – как установить PYTHONPATH?

Непрерывный анализ файлов CSV, которые обновляются другим процессом

Использование Python быстро вставляет много столбцов в Sqlite \ Mysql

Если соглашение в Python состоит в том, чтобы использовать классы, почему тогда list () не капитализируется? Разве это не класс?

Определите, является ли данный атрибут класса свойством или нет, объект Python

Как безопасно отправлять пароль для службы REST?

Как проверить версию Django

Сбой сборки Numpy не может импортировать multiarray

Википедия с Python

Python - лучший язык программирования в мире.