1

dictとintのタプルを含むリストがあるプロジェクトに取り組んでいます。各辞書で名前を検索しようとしていますが、問題が発生しています。

dicts = [ (somedict, 0), (someOtherDict, 5)]

dictのリストを作成する前は、次のコマンドで簡単に検索できました。

def search(name):
    for d in reversed(dicts):
        if name in d: return d[name]

しかし、タプルのリストができたので、辞書を検索する方法がよくわかりません。どんな助けやアドバイスも大歓迎です。私は今とても混乱しています。

4

2 に答える 2

3

ジェネレータ式を使用して、dictを取得するだけです。

def search(name):
    for d in (t[0] for t in dicts):
        if name in d: return d[name]

または、タプル割り当てを使用できます。

def search(name):
    for d, _ in dicts:
        if name in d: return d[name]

ただし、これは、すべてのタプルに2つの値があることを前提としています。

于 2012-11-24T20:56:04.897 に答える
0

dictを0で列挙した結果のインデックスを作成する必要があります。これは、dictがdict/intタプル内にあるためです。

def search(name):
    for d in reversed(dicts):
        if name in d[0]: return d[0][name]
于 2012-11-24T20:58:04.607 に答える