1

私は辞書を持っています:dict = {"key":[None, "item 2", "item 3"]}

dict["key"][0] is None 「キー」が不明な場合、どうすれば確認できますか。

私はこれまでのところこれを持っています:

{k: dict[k][0] for k in dict.viewkeys()}

それは私に与える:

{"key":None}

私のアプリケーションでは、dict["key"][0]まだ入力されているかどうかをテストしています。デフォルトは None です。

4

3 に答える 3

2

あなたはとても近くにいます。値リストの最初の項目が であるようなすべてのキーと値のペアが必要な場合はNone、次のようにします。

unassigned_items = {k:v for k, v in mydict.viewitems() if v[0] is None}

dict組み込みをマスクするため、変数名として使用しないでくださいdict。サンプルコードであっても、誤解を招く可能性があるためです。

を取得したら、が含まれunassigned_itemsているかどうかを簡単にテストできます。'key'unassigned_items

if key in unassigned_items:
    do_something()
于 2012-07-12T15:30:52.547 に答える
0

おそらく filter(lambda k: dict[k][0] == None, dict.keys()) を試してください

最初の要素が None である dict.keys() (キーのリスト) のすべてのメンバーのリストを返す必要があります (つまり、dict[k][0] == None に対して True を返します)。

于 2012-07-12T15:47:10.333 に答える
0

最も安全/クリーンではない:

if d[d.keys()[0]][0] is None: print "Empty"
于 2012-07-12T15:33:07.970 に答える