字典和集合(一)

一. 初识字典

        字典一种可变的容器,可以存储任意类型的数据,数据以键(key)-值(value)对的形式进行映射存储。字典中的每个数据都是用“键”(key)进行索引的,而不像序列可以用下标进行索引,因此键不能重复,且只能用不可变类型作为字典的键。数据没有先后顺序关系,字典的存储是无序的。

1.1 表示方式  

        {} 括起来,以冒号(:)分隔键-值对,各个键-值用逗号分隔开

1.2 创建字典

  • 创建空字典:d = {}
  • 创建非空字典:d = {"name":"Alex","age":12}、d = {1:"星期一",2:"星期二"} 
  • 字典的构造函数:
dict()创建空字典,等同于{}
dict(iterable)用可迭代对象初始化一个字典。如:d = dict([('name', 'Alex'), ('age', 13)]),每个元组里面提供2个值,一个为键,一个为值。
dict(**kwargs)关键字传参形式生成一个字典。如:d = dict(name='Alex',age=15),此方法中,键必须只能是字符串

1.3 添加/修改字典的元素

        使用“字典[键] = 值”的形式向字典中添加/修改元素;当键不存在时,创建键并绑定键对应的值,当键存在时,修改键绑定的对象。

1.4 删除字典的元素

        del语句用来删除字典的元素:del dict[key]

1.5 in/not in运算符

        判断一个“键”是否存在与字典中,如果存在则返回True,否则返回False

1.6 字典的迭代访问

        字典是可迭代对象,直接遍历字典时得到的是字典的键。可以使用索引间接访问值(遍历时切勿去同时修改字典的值,后续篇幅会详细说明)。

二. 字典常用函数及方法

关于字典相关函数的使用总结如下

函数说明
len(x)返回键值对的个数
max(x)返回‘’键‘’的最大值
min(x)返回‘’键‘’的最小值
sum(x)返回‘’键‘’的和
any(x) 真值测试,如果字典中一个‘’键‘’为真,则结果为真
all(x)真值测试,字典中所有‘’键‘’为真,则结果才为真

关于字典相关方法的使用总结如下

方法说明
D.clear()清空字典
D.copy()返回字典D的副本,只复制一层(浅拷贝)
D.get(k[,d])返回键key对应的值,如果没有此键,则返回default
D.items()

返回键值对组成的可迭代对象;

如:d = {1:"one", 2:"two","three":3},d.items()返回值为dict_items([(1, 'one'), (2, 'two'), ('three', 3)])

D.keys()

返回字典的键;

d = {1:"one", 2:"two","three":3},d.keys()返回值为dict_keys([1, 2, 'three'])

D.values()

返回字典的值;

d = {1:"one", 2:"two","three":3},d.values()返回值为dict_values(['one', 'two', 3])

D.pop(k[d])移除键,同时返回此键对应的值;
D.update(D2)更新字典;如果key值重复,则更新为D2中的值

三. 字典和列表的比较

  1. 都是可变对象;
  2. 索引方式不同,列表用整数索引,字典用键索引;
  3. 列表的存储是有序的,字典的存储是无序的:
  4. 列表:顺序存储,append()很快,但insert()很慢;
  5. 字典:映射存储,插入的速度很快。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值