обратное отображение словаря с Python [дубликат]

Вы можете использовать это:

$stmt->fetch(PDO::FETCH_COLUMN, $number_of_column);
17
задан Community 23 May 2017 в 12:00
поделиться

3 ответа

Если вы делаете это часто, вы захотите создать обратный словарь:

>>> rev_ref = dict((v,k) for k,v in ref.iteritems())
>>> rev_ref
{'def': 'abc'}

>>> def revmapper(to):
...    return rev_ref[to]

Если это редко, и вам все равно, если это неэффективно, сделайте это:

>>> def revmapper(to):
...    for k,v in ref.iteritems():
...      if v == to: return k
22
ответ дан Stephen 23 May 2017 в 12:00
поделиться

Вы можете создать обратный словарь:

revdict = dict((v,k) for k,v in ref.items())

, затем найдите то, что вы хотите:

assert revdict["def"] == "abc"

Обратите внимание, что это не будет работать, если два ключа отображаются на одно и то же значение.

5
ответ дан Ned Batchelder 23 May 2017 в 12:00
поделиться
dict(map( lambda a:[a[1],a[0]], d.iteritems() ))
2
ответ дан eruciform 23 May 2017 в 12:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: