dict
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)
构造方法
>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict({'three': 3, 'one': 1, 'two': 2})
>>> a == b == c == d == e
----------
classmethod fromkeys(seq[, value])
##对象方法:
方法 | 描述 |
---|---|
len(d) | 返回字典中的项目数量d |
d[key] | 返回字典d中键为key的元素 |
d[key] = value | 设置d[key]的值为value,这个也常用来添加元素 |
del d[key] | 从d中删除d [key] |
key in d | 如果d有键key,则返回True,否则False |
key not in d | not key in d |
iter(d) | 返回字典的键上的一个迭代器。这是iter(d.keys())的快捷方式\ |
clear() | 从字典中删除所有项目 |
copy() | 返回字典的一个浅拷贝 |
get(key[, default]) | 如果 key 在字典里,返回 key 的值,否则返回 default 值。 |
items() | 返回字典项目的新视图((key, value)对) |
keys() | 返回字典的键的新的视图 |
pop(key[, default]) | 如果键在字典中,请将其删除并返回其值 |
popitem() | 从字典中移除并返回任意一个(key, value)对 |
setdefault(key[, default]) | 如果key在字典中,则返回其值。如果没有,则插入值为default的key,并返回default |
update([other]) | 依据other更新词典的键/值对,覆盖现有的键 |
values() | 返回字典的值的新的视图 |
合并两个字典
>>> d1 = {'a':1, 'b':2}
>>> d2 = {'c':3, 'd':4}
>>> nd = {**d1, **d2}
>>>> nd = {d1, **d2} # 和上述等价
将两个列表转换为字典列表
[{"a":i,"b":j} for i,j in zip(list1,list2)] # 分别命名
dic(zip(list1,list2)) # 以一个列表为key,另一个为value
键值对翻转
>>> kv = {'a': 1, 'b':2 , 'c': 3}
>>> vk = dic(zip(kv.values(), kv.keys()))
字典排序
sorted(d.items(),key = lambda x:x[1],reverse = True) # sorted方法的使用,按value排序
sorted(d.items(),key = lambda x:x[0],reverse = True) # sorted方法的使用,按key排序
sorted(zip(d.values(),d.keys())) # 按value排序,sorted方法默认按元组第一位排序
sorted(zip(d.keys(),d.values())) # 按key排序
字典转对象
class User(object):
def __init__(self, entries): # entries既是字典
self.__dict__.update(**entries) # __dict__本质是字典存储对象的属性