与えられたリストから辞書を作成したいたった1行で。辞書のキーはインデックスになり、値はリストの要素になります。このようなもの:
a = [51,27,13,56] #given list
d = one-line-statement #one line statement to create dictionary
print(d)
出力:
{0:51, 1:27, 2:13, 3:56}
one lineが必要な理由に関する特定の要件はありません。私はただpythonを調査していて、それが可能かどうか疑問に思っています。
a = [51,27,13,56]
b = dict(enumerate(a))
print(b)
生産します
{0: 51, 1: 27, 2: 13, 3: 56}
列挙オブジェクトを返します。 sequenceは、シーケンス、iterator、またはその他のオブジェクトでなければなりません反復をサポートします。
next()
によって返されるイテレータのenumerate()
メソッドは、カウント(fromstart(デフォルトは0)および取得した値を含むTuple
を返しますsequenceの繰り返し:
別のコンストラクターを使用すると、
a = [51,27,13,56] #given list
d={i:x for i,x in enumerate(a)}
print(d)
enumerate
を試してください:タプル(i, a[i])
のリスト(または反復子)を返します。そこからdict
を作成できます:
a = [51,27,13,56]
b = dict(enumerate(a))
print b
{x:a[x] for x in range(len(a))}
リスト内包表記を使用するだけです。
a = [51,27,13,56]
b = dict( [ (i,a[i]) for i in range(len(a)) ] )
print b