python-dict字典

dict字典

  • 基础:
    d={‘key’:value}
    key是必须不可变对象
    增:d[‘key’]=value
    删d.pop(‘key’)
    查d.get(‘key’)
  • 字典的合并:
    法一dict3={**dict1,**dict2}
    法二dict(dict1,**dict2)
    法三c = {} c.update(dict1) c.update(dict2)
    例:字典如何删除键和合并两个字典
dict1={'a':1,'b':3}
dict2={'c':1,'d':5} 
dict1.pop('a')
print(dict1)
#合并方法1
print(dict(dict1,**dict2))
#合并方法2
print({**dict1,**dict2})
#合并方法3
c = {}  
c.update(dict1)  
c.update(dict2) 
print(c)
  • 字典的排序
  • 用dict1.values()得到所有的values,然后对value排序
    d.keys()同理
    用dict1.items(),得到包含key,value的元组
    x指元组,x[1]是值,x[0]是键
    例:字典根据键从小到大排序
d={1:'a',3:'c',2:'b',0:'Z'}
print(d)
d1=dict(sorted(d.items(),key=lambda x:x[0]))
print(d1)

例:根据键对字典排序(方法一,zip函数)

foo = {"name":"zs","age":19,"sex":"man","city":"bj"}
f1=dict(sorted(foo.items(),key=lambda x:x[0]))
print(f1)
#sorted函数中的可迭代对象不要用字典d,那样只能迭代出的字典d的键。要用d.items()才可迭代出字典的键值对。

例:求下面三个方法的打印结果

def fn(k,v,dic={}):
    dic[k]=v
    print(dic)
fn("one",1)
fn("two",2)
fn("three",3,{})
#fn("one",1)直接将键值对传给字典;
# fn("two",2)因为字典在内存中是可变数据类型,所以指向同一个地址,传了新的额参数后,会相当于给字典增加键值对
# fn("three",3,{})因为传了一个新字典,所以不再是原先默认参数的字典
#输出
{'one': 1}
{'one': 1, 'two': 2}
{'three': 3}

例:使用pop和del删除字典中的"name"字段,dic={“name”:“zs”,“age”:18}

dic={"name":"zs","age":18}
dic.pop("name")
print(dic)
del dic["name"]
print(dic)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值