6

OK これは Python の質問です:

私たちは辞書を持っています:

my_dict = {
           ('John', 'Cell3', 5): 0, 
           ('Mike', 'Cell2', 6): 1, 
           ('Peter', 'Cell1', 6): 0, 
           ('John', 'Cell1', 4): 5, 
           ('Mike', 'Cell2', 1): 4, 
           ('Peter', 'Cell1', 8): 9
          }

「Peter」という名前のキーと値のペアだけを持つ別の辞書を作成するにはどうすればよいですか?

この辞書をタプルのタプルのリストにすると役に立ちますか?

tupled = my_dict.items()

もう一度辞書に戻しますか?

リスト内包表記でこれをどのように解決しますか?

前もって感謝します!

4

3 に答える 3

1

どんな名前でも

def select(d, name):
    xs = {}
    for e in d:
        if e[0].lower() == name.lower(): xs[e] = d[e]

    return xs

d = {('Alice', 'Cell3', 3): 9,
     ('Bob', 'Cell2', 6): 8,
     ('Peter', 'Cell1', 6): 0,
     ('Alice', 'Cell1', 6): 4,
     ('Bob', 'Cell2', 0): 4,
     ('Peter', 'Cell1', 8): 8
    }

print select(d, 'peter')

>>>{('Peter', 'Cell1', 8): 8, ('Peter', 'Cell1', 6): 0}
于 2013-06-13T07:11:35.990 に答える
0
{item for item in my_dict.iteritems() if item[0][0].lower() == 'peter'}

.iteritemsdict を繰り返し処理し、.lower を使用して大文字と小文字を区別せずに一致させます。

于 2013-06-12T22:38:35.613 に答える