Python dict 使用
-
sum 所有 value
sum(d.values()) -
dictionary.get(“bogus”, default_value)
此时如果dict 不存在key"bogus",将返回default_value -
dictionary.setdefault(‘one’, 3.4)
此时如果dict 存在’one’ 则等效于 return dictionary[‘one’]
此时如果dict不存在’one’ 则等效于 return (dictionary[‘one’] = 3.4) -
使class作为key
重载函数 hash and eq
class MyThing:
def __init__(self,name,location,length):
self.name = name
self.location = location
self.length = length
def __hash__(self):
return hash((self.name, self.location))
def __eq__(self, other):
return (self.name, self.location) == (other.name, other.location)
def __ne__(self, other):
# Not strictly necessary, but to avoid having both x==y and x!=y
# True at the same time
return not(self == other)
https://stackoverflow.com/questions/4901815/object-of-custom-type-as-dictionary-key/4901847
https://stackoverflow.com/questions/5221236/how-can-i-make-my-classes-usable-as-dict-keys