配列から辞書を取り込む必要があります。私は3行でやったことがありますが、できるだけ短くしようとしています。それを1行に取り込む方法はありますか?Pythonの配列からの辞書のオンライン集団
a = [['test',154],['test2',256]]
d = dict()
for b in a:
d[b[0]] = b[1]
配列から辞書を取り込む必要があります。私は3行でやったことがありますが、できるだけ短くしようとしています。それを1行に取り込む方法はありますか?Pythonの配列からの辞書のオンライン集団
a = [['test',154],['test2',256]]
d = dict()
for b in a:
d[b[0]] = b[1]
だけdict
:)
>>> a = [['test',154],['test2',256]]
>>> dict(a)
{'test': 154, 'test2': 256}
dict(a)またはdict([['test'、154]、['test2'、256]])を実行するだけです。
L = [ 'テスト'、154]、[ 'TEST2'、256]のPython 3.xでは
:
d = {k:v for k,v in L}
Pythonの2.xで
:
d = dict([(k,v) for k,v in L])
なぜこれが悪いのですか? – kravemir
これは他のものと比較して貧弱な解決策です(2番目の方法は個々のリストをタプルに変更するだけです)。また、*はどちらの場合でも構文エラーです(ただドロップするだけです)。ディクショナリの理解はまた、 '、'ではなく ':'で要素を区切ります。 –
@スティーブ:そうです。私はバグを修正した – inspectorG4dget
うわー、それはとても簡単です – kravemir