字典dict的常见操作

字典dict的常见操作

特点

  • 以大括号{}和键值对组成,每个键值对之间用逗号,分隔

    val = {1:'a', 2:"c"}
    
  • 键值必须唯一

  • 允许迭代

    val = {'1':"alice", 'age':12}
    for k in val: # 默认迭代是键
        print(k)
        
    # 结果
    1
    age
    
    val = {'1':"alice", 'age':12}
    for v in val.keys():
        print(v)
        
    # 结果
    1
    age
    
    val = {'1':"alice", 'age':12}
    for v in val.values():
        print(v)
        
    # 结果
    alice
    12
    
    val = {'1':"alice", 'age':12}
    for k,v in val.items():
        print(k, v)
        
    # 结果
    1 alice
    age 12
    

创建

  • 创建一个空字典

    val1 = {}
    val2 = dict()
    print(type(val1))
    print(type(val2))
    print(val1)
    print(val2)
    
    # 结果
    <class 'dict'>
    <class 'dict'>
    {}
    {}
    
  • 创建一个含有若干键值对的字典

    val = {1:'a', 2:"c"}
    print(type(val))
    print(val)
    
  • 若字典中有相同的键,则在定义字典时,最后的键值对有效;保证键值对是唯一的!

    val = {1:'a', 2:'b', 2:'c'}
    print(type(val))
    print(val)
    
    # 结果
    <class 'dict'>
    {1: 'a', 2: 'c'}
    
  • 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

以键取值,以键改值,以键赋值

  • 不同于列表lis的用索引的方式取值,字典用 dict[键] 取键对应的值或修改键对应的值

    val  = {1:'alice', 'age':12}
    print(val[1]) #取键为1的值
    val[1]='bob' #将键为1的值修改为'bob'
    val['age']=13 #将键为'age'的值修改为13
    val['3']=180 #向dict中增加一个键值对
    print(val)
    
    # 结果
    alice
    {1: 'bob', 'age': 13, 3: 180}
    
    
    • 若以键取值,该键不存在则抛异常
    • 若以键改值,该键不存在,则是向dict中增加一个键值对

内置函数

# 常用,查,删,改,复制和清空

dict.keys() # 返回字典中所有key组成一个可迭代对象,可以用list()将其转化为列表
dict.values() # 返回字典中所有value组成一个可迭代对象,可以用list()将其转化为列表
dict.items() # 返回字典中所有键值对应元组(键,值)形式组成的可迭代对象,可以用list()将其转化为列表

dict.get(key) # 返回键为key对应的值,若key不存在,则返回None
dict.setdefault(key[,default=None]) # 将字典中间为key的值更新为default,返回值为被替代的值
                                    #若key不存在,则向字典中插入一组键值对,键为key,值为                                          default对应的值,返回值为default对应的值
        
dict.pop(key[,default]) # 弹出键为key的键值对,并原地修改dict;
                      # 返回值为key所对应的值;若该key所对应的值不存在,则返回default的值
                      # 若不指明default,且key对应的值不存在,则抛错误
dict.popitem() # 随机弹出dict一组键值对以元组(键,值)方式,并修改dict;若字典为空,则抛异常

dict.fromkeys(序列[,value=None]) # 返回以序列作为字典的键,以val作为所有键对应的值而构成的字典
                                # 但并不更新原字典
dict1.update(dict2) # 将字典dict2中的键值对更新到dict中,返回值None

dict.copy() # 复制dict中的元素,并赋值的字典返回
dict.clear() # 将字典dict清空,返回值为None

其他

str(dict) # 将字典dict进行字符串话,字典的两端加上引号,构成的字符串
            str({1:'abc'})"{1:'abc'}"就变成了一个字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值