2017-02-20 12 views
1

私はキーだけを含む辞書を作る必要があります。キーのみで辞書を作成しますか?

d.append()はリストではないので使用できません。setdefaultには2つの引数が必要です:キーと値。

d = {} 

"A" を追加します:

d = {"a"} 

は "B" を追加します。それは次のように動作するはず

d = {"a", "b") 

は "c" を追加し...

#Final result is 

d = {"a", "b", "c"} 

この結果を得るために必要なコードは何ですか? それは別の解決策ですか?リストを作るなど。それを行う必要があります

l = ["a", "b", "c"] # and transform it into a dictionnary: d = {"a", "b", "c"} ? 
+2

'd = {" a "、" b "、" c "}'それは辞書ではありません 'set'だけです –

+2

' d = {} 'の代わりに' d = set() 'で始めると、うまくいきます。 – khelwood

+1

辞書ではなく 'set'が必要です –

答えて

-1

l = ["a", "b", "c"] 

d = {k:None for k in l} 

@Rahulがコメントで言うように、それは価値を欠いていることから、d = {"a", "b", "c"}は有効な辞書の定義ではありません。辞書に存在する値をキーに割り当てる必要があります。値がない場合は、Noneを割り当てて後で更新することができます。

+0

あなたの答えをありがとうが、それは私が欲しいものではありません。これは を返す{'a':なし、 'b':なし、 'c':なし}そして、私は "なし"を望んでいません – MartinM

+0

@MartinMあなたは何かを持っている必要があります。それは 'None'である必要はありません。空文字列( '' '')であってもかまいません。 –

+0

Rahul K Pとkhelwoodが解決策を見つけました。とにかくありがとう! – MartinM

4

dictは、キーのみを使用し、setと呼ばれます。

辞書ではなく空のセットから開始します。

d = set() 
d.add('a') 
d.add('b') 
d.add('c') 

あなたはまた、{}表現を経由してセットを作成することができます。

d = { 'a', 'b', 'c' } 

またはリスト使用:

d = set(['a', 'b', 'c']) 
0

をあなたはsetない辞書を必要とする、

l = ["a", "b", "c"] 
d = set(l) 
関連する問題