1

辞書の作成と追加を同時に行うにはどうすればよいですか?

def buildList(theDict):
    array=[]
    for a,b in theDict.iteritems():
        array.append([a,b])

    return array
print buildList({"a": 1,"b": 2,"c": 3})

これにより、リストのリストが出力されます。新しい変数を作成せずに辞書のリストを印刷したい。

4

3 に答える 3

3

私があなたが望むものを正しく理解していれば、このコードは機能するはずです。

def list_of_dicts(d):
    return [{key:value} for key, value in d.iteritems()]

print list_of_dicts({"a": 1,"b": 2,"c": 3})

list_of_dicts()リスト内包表記を使用します。これによりdict、渡されたディクショナリのキーと値のペアごとに1つのエントリを持つ新しいものが作成されます。

リスト内包表記を使用して例を書き直し、リストのリストを返す方法がわかりますか?上記の3文字を変更するだけです。

PS私はPEP8の名前を使用しました(キャメルケースではなく小文字)。

于 2012-06-15T00:57:33.730 に答える
1

array.append({a:b})それ以外のarray.append([a,b])

またはリスト内包表記を使用する

array = [{a:b} for a,b in theDict.iteritems()]
于 2012-06-15T01:50:50.547 に答える
0

あなたの答えはすでにほとんどあなたが必要としているものです。リストに追加すると、次のコードを使用して新しいリストが作成されます。[a, b]

したがって、そのコードを、辞書を作成する別のコードに置き換えます。あなたは辞書を作る方法を知っています!

ヒントが必要な場合は、他の回答のリスト内包を見て、リスト内包が新しい辞書の値をどのように作成するかを理解できるかどうかを確認してください。

私はあなたがこれを理解できることを知っています!

于 2012-06-15T01:20:38.503 に答える