ユニオン、差分、交差操作を利用するために、frozensets を使用して辞書のキーを保持しています。しかし、dict.get() を介してディクショナリからキーで値を取得しようとすると、None 値が返されます。
newDict = {'a': 1, 'b': 2, 'c': 3, 'd': True}
stKeys = set(newDict)
stA = frozenset('a')
stB = frozenset('b')
stC = frozenset('c')
stD = frozenset('d')
print(stKeys)
print(newDict.get(stA & stKeys))
print(newDict.get(stB & stKeys))
print(newDict.get(stC & stKeys))
print(newDict.get(stD & stKeys))
生産:
>>>None
>>>None
>>>None
>>>None
さらには:
print(newDict.get(stA))
print(newDict.get(stB))
print(newDict.get(stC))
print(newDict.get(stD))
生産:
>>>None
>>>None
>>>None
>>>None
キーがフリーズセットにある場合、辞書から値を取得する方法は?
Martijn Pietersに感謝します。結果を list() に追加する場合の答えは、DVO (Dictionary view objects) とジェネレータ式です。