1

誰かがこれで私を助けてくれますか? b が存在しないかどうかをチェックする短いバージョンを使用してから、「」または「なし」を割り当てようとしていますが、何かが欠けています

>test = dict(s = b if b else '')
>NameError: name 'b' is not defined

編集済み: b が定義されていないことはわかっています。代わりに、存在する場合は値を持つ辞書を作成する方法を見つけたい、存在しない場合は '' を作成する方法を見つけたいです。

4

3 に答える 3

1

という名前の変数が定義されていませんb。ただし、これはXYの問題のようです。あなたは実際に何をしようとしていますか?辞書に挿入しますか? 1 つの要素だけで新しいものを作成しますか?

于 2013-03-12T21:26:52.917 に答える
1

辞書理解を使用する必要があります

d = {key: value for (key, value) in sequence if condition}

また、BlackVegetable のコメントは true です。定義していないbため、python では使用できません。

于 2013-03-12T21:30:23.257 に答える
0

誰かが以前にこれを投稿し、それを削除しましたが、私はそれをテストし、それは機能します:

dict(s=b) if b else dict(s='')`

の場合、上記の行が機能しますbNoneそれは私が質問から理解したことです、あなたはbが存在するかどうかを確認したいと思います。次に、そうであれば、キーをそのように設定し、そうでない場合は''として設定します。

于 2013-03-12T21:32:14.167 に答える