Ermöglichen den Code-Snippet siehe unten:Eingeschränkte Set-Operationen auf Python-Wörterbuch Schlüssel Ansichten
d = {1:1}
keys = d.keys()
print(keys & {1,2,3})# {1}
d[2] = 2
print(keys & {1,2,3}) # {1,2} # keys() is a view/reference
print({1,2}.issubset({1,2,3})) # True
print(keys.issubset({1,2,3})) # 'dict_keys' object has no attribute 'issubset'
Es in den offiziellen Dokumenten auf dictionary view objects erwähnt wird:
Keys Ansichten sind so eingestellt, wie da ihre Einträge sind einzigartig und waschbar. .. Dann werden diese Set-Operationen zur Verfügung stehen („andere“ bezieht sich entweder auf eine andere Ansicht oder einen Satz): [&, |, ^, ^]
Wenn die Tasten gesetzt artig, warum sind die Setzen Sie die Operation auf sie beschränkt auf diese vier Infix-Operationen. Warum ist beispielsweise ein side-effect-freier Betrieb wie issuperset
oder issubset
nicht erlaubt?
sie 'Keys views' =' set-like sind 'Nicht ein' Set' selbst. Wenn Sie Mengenoperationen durchführen möchten, wandeln Sie Ihre Schlüsselansicht in eine Menge um. – levi
@levi auf welche Basis sind einige, und nicht andere, der Set-Operationen ausgewählt? – DurgaDatta
'issubsert' ist nicht' issubset'. –