Python标准数据类型-字典

字典

  • 字典可存储任意类型对象,字典是由大括号{}括起来的数据集合。
  • 里面有键和值,组成键值对(key=>value),键和值之间用冒号:来分隔,每个键值对之间用逗号来分隔。
  • 通过键来读取,而不是通过索引。
  • 字典是任意对象的无序集合。
  • 字典是可变的,并且可以任意嵌套。
  • 字典中的键必须唯一,字典中的键必须不可变。

字典的创建

{}创建字典

  • 使用大括号 { } 创建字典
  • {key1:value1, key2:value2…}
dict1 = {'dog':'WangChai','num':{"a":1, "b":2}}

使用内建函数 dict() 创建字典

- dict1 = dict(a=1, b=2, c=3)		# {'a': 1, 'b': 2, 'c': 3}
- dict1 = dict(zip(['a', 'b', 'c'], [1, 2, 3]))   # 映射函数方式来构造字典
- dict1 = dict([('a', 1), ('b', 2), ('c', 3)])    # 可迭代对象方式来构造字典
- dict1 = dict([('a', 1), ('b', 2)], c=3)

字典推导式创建字典

字典推导式

dict1={chr(ord("a")+i): i for i in range(5)}
result:
{'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4}

字典的访问

  • 把相应的键放入到方括号中, dict[key]
  • 如果用字典里没有的键访问,报错
  • for item in dict.keys(), for value in dict.values(), for key, value in dict.items():

字典增加元素

  • dict[key]=value, key值不存在时,增加此元素,否则改变此元素。
  • dict1.update(dict2)
dict1 = dict(a=1, b=2, c=3); dict2 = {"a":4, "b":5, "d":7}
print(dict1)
result:
{'a': 4, 'b': 5, 'c': 3, 'd': 7}

删除字典元素

  • dict.pop(key):删除以key为键的键值对,返回key对应的value
  • dict1.popitem():随机删除键值对,返回值则为删除的这组键值对
  • dict1.clear():删除所有元素
  • del dict1:删除字典

字典的方法和系统函数

方法描述举例
dict.copy()返回一个字典的浅复制
dict.fromkeys(seq[, value])创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值dict.fromkeys(“abc”,0) => {‘a’: 0, ‘b’: 0, ‘c’: 0}
dict.get(key, default=None)返回key对应的值,如果没有此key,则返回default的值dict1={“a”:1, “b”:2};dict1.get(“c”, 5) => 5
dict.items()返回可迭代对象,里面是列表dict1={“a”:1, “b”:2}; dict1.items() => dict_items([(‘a’, 1), (‘b’, 2)])
dict.keys()返回可迭代对象,列表dict1={“a”:1, “b”:2};dict1.keys => dict_keys([‘a’, ‘b’])
dict.values()返回可迭代对象,列表dict1={“a”:1, “b”:2};dict1.values=>dict_values([1, 2])
dict.setdefault(key, default=None)如果key不存在,插入以key,default值为value的键值对

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值