python 字典(dict)

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 dnot 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__本质是字典存储对象的属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值