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

Для кортежа 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) 
  • Удаление предыдущего токена в предложении, если оно совпадает с текущим токеном python
  • Передача строки, целочисленная и кортежная информация как ключ для словаря python
  • Как суммировать связанные значения в диктоподобной структуре в Python?
  • Перевод словаря на Python на C ++
  • Создание или предопределение структуры вложенного словаря / JSON || питон
  •  
    Interesting Posts for Van-Lav

    mysql_config не найден при установке интерфейса mysqldb python

    Python 3 urllib создает TypeError: данные POST должны быть байтами или итерируемыми байтами. Это не может быть типа str

    Вызов программы python из python?

    Обнаружение дубликатов в определенных столбцах в операциях DataFrame & Perform на этих

    Многопроцессорность Python непрерывно порождает процессы pythonw.exe без какой-либо реальной работы

    Как вы включаете код фляжки / jinja2 внутри файла уценки?

    Как row-wise объединяет несколько столбцов, содержащих строки?

    Python: binascii.a2b_hex дает строку «Нечетная длина»

    Поиск скользящей средней из точек данных в Python

    Django Forms – Как использовать префиксный параметр

    Как я могу получить те же «специальные» решения для недоопределенных линейных систем, которые возвращает оператор Matlab `A \ b` (mldivide) с помощью numpy / scipy?

    Как установить цвет фона при рендеринге PNG с помощью PythonMagick

    Декораторы Python в классах

    Python: как продлить datetime.timedelta

    Использует ли virtualenv цель (в производстве) при использовании докеров?

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