字典(Python入门十九)

                  字典

目录

创建字典

获取字典中的值

修改字典(字典中用到的函数)

遍历字典


创建字典

   - 1.使用 {} 来创建字典
      d = {} # 创建了一个空字典

   - 创建一个保护有数据的字典
   - 语法:
       {key:value,key:value,key:value}
      字典的值可以是任意对象
      字典的键可以是任意的不可变对象(int、str、bool、tuple ...),但是一般我们都会使用str
      字典的键是不能重复的,如果出现重复的后边的会替换到前边的
       # d = {'name':'孙悟空' , 'age':18 , 'gender':'男' , 'name':'sunwukong'}

   - 需要根据键来获取值
     print(d['name'],d['age'],d['gender'])

   - 如果使用了字典中不存在的键,会报错
      print(d['hello']) KeyError: 'hello'

   - 2.使用 dict()函数来创建字典
       d = dict(name='孙悟空',age=18,gender='男') 

       也可以将一个包含有双值子序列的序列转换为字典
    - 双值序列,序列中只有两个值,[1,2] ('a',3) 'ab'
       子序列,如果序列中的元素也是序列,那么我们就称这个元素为子序列
       [(1,2),(3,5)] 

   - len() 获取字典中键值对的个数
      print(len(d))

  - in 检查字典中是否包含指定的键
  - not in 检查字典中是否不包含指定的键
  - print('hello' in d)

获取字典中的值

  - 获取字典中的值,根据键来获取值
      语法:d[key]
       print(d['age'])

  - 通过[]来获取值时,如果键不存在,会抛出异常 KeyError
      get(key) 该方法用来根据键来获取字典中的值
      如果获取的键在字典中不存在,会返回None
      也可以指定一个默认值,来作为第二个参数,这样获取不到值时将会返回默认值
      print(d.get('name'))
      print(d.get('hello','默认值'))

修改字典(字典中用到的函数)

    d[key] = value 如果key存在则覆盖,不存在则添加
    d['name'] = 'sunwukong' # 修改字典的key-value
    d['address'] = '花果山' # 向字典中添加key-value

   - setdefault(key[, default]) 可以用来向字典中添加key-value
     如果key已经存在于字典中,则返回key的值,不会对字典做任何操作
     如果key不存在,则向字典中添加这个key,并设置value

   - update([other])
     将其他的字典中的key-value添加到当前字典中
     如果有重复的key,则后边的会替换到当前的

   - 删除,可以使用 del 来删除字典中的 key-value

   - popitem()
     随机删除字典中的一个键值对,一般都会删除最后一个键值对
     删除之后,它会将删除的key-value作为返回值返回
     返回的是一个元组,元组中有两个元素,第一个元素是删除的key,第二个是删除的value
     当使用popitem()删除一个空字典时,会抛出异常 KeyError: 'popitem(): dictionary is empty'
     d.popitem()
     result = d.popitem()

   - pop(key[, default])
    根据key删除字典中的key-value
    会将被删除的value返回!
    如果删除不存在的key,会抛出异常
    如果指定了默认值,再删除不存在的key时,不会报错,而是直接返回默认值
    result = d.pop('d')
    result = d.pop('z','这是默认值')

   - clear()用来清空字典
     d.clear()

   - copy()
    该方法用于对字典进行浅复制
    复制以后的对象,和原对象是独立,修改一个不会影响另一个
  - 注意,浅复制会简单复制对象内部的值,如果值也是一个可变对象,这个可变对象不会被复制

遍历字典

   - keys() 该方法会返回字典的所有的key
     该方法会返回一个序列,序列中保存有字典的所有的键
     d = {'name':'孙悟空','age':18,'gender':'男'}

   - 通过遍历keys()来获取所有的键
     for k in d.keys() :
         print(k , d[k])

   - values()
    该方法会返回一个序列,序列中保存有字典的左右的值
     for v in d.values():
         print(v)

   - items()
     该方法会返回字典中所有的项
     它会返回一个序列,序列中包含有双值子序列
     双值分别是,字典中的key和value
     print(d.items())
     for k,v in d.items() :
        print(k , '=' , v)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小肝帝!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值