字典

【字典dict】

1.字典的概念:
1.字典是一种可变的容器,可以存放任意类型的数据
2.字典中的每一个数据都是用键(key)进行索引,而不像序列可以用下标进行索引
3.字典的数据没有先后顺序关系,字典的存储是无序的
4.字典中的数据以键(key)-值(value)对进行映射存储
5.字典的键不能重复,【且只能用不可变类型作为字典的键】
2.字典的字面值表示方式:
用{}括起来,以冒号(:)分隔键-值对,各键值对用分号分隔开
3.创建字典
1.创建空字典:
	d = {}
2.创建非空字典:
	d = {'name':'tarena','age':15}
	d = {'姓名':'张三'}
	d  ={1:'一',2:'二']
4.字典的构造函数:
dict() 创建一个空字典,等同于{}
dict(iterable) 用可迭代对象初始化一个字典
dict(**kwargs) 关键字传参形式生成一个字典
示例:
	d = dict()
	d = dict([('name','tarena'),('age',15)])
	d = dict(name = 'tarena',age = 15)
	d = dict(('AB','CD'))   # d = {'A':'B','C':'D'} #元组是可迭代对象
5.字典的键索引:
用[]运算符可以获取字典内的'键'所对应的'值'
语法:
	字典[键]
获取数据元素:
	d = dict(name = 'tarena',age = 15)
	print(d['age'])  # 15
6.添加修改字典元素:
字典[键] = 表达式
示例:
	d = {}
	d['name'] = 'tarena'  # 创建一个新的键值对
	d['age'] = 15        #创建键值对
	d['age'] = 22       #修改键值对
7.del语句删除字典的元素:
语法:
	del字典[键]
示例:
	d = {'name':'zxl','age':22}
	d['age']
	print(d)   # d = {'name':'zxl'}
	d['name']
	print(d)  # {}
8.字典的in / not in 运算符:
可以用in运算符来判断一个’键‘是否存在于字典中,如果存在则返回Ture,否则返回False
not in 与 in 相反
示例:
	d = {'a':1,'b':2} 
	'a' in d   # True
	1 in d     # False
9.字典的迭代访问:
字典是可迭代对象,字典只能对键进行迭代访问
d = {'name':'tarena','(2001,2,1)':'生日'}
for i in d:
    print(i)  #返回的是键
10.可以用于字典的内建函数:
len(x) 返回字典键值对的个数
max(x) 返回字典的键的最大值
min(x) 返回字典的键的最小值
sum(x) 返回字典所有键的和
any(x) 真值测试,只对键进行测试,如皋其中一个键为True,结果为True
all(x) 真值测试,全部键为True,结果才为True
11.字典的方法:
dict.fromkeys()用于创建并返回一个新的字典,它有两个参数,第一个参数是字典的键,第二个参数是可选的,是传入键对应的值。
		如果不提供,默认是None
示例:
	d = {}
	d.fromkeys((1,2,3))   # {1:None,2:None,3:None}
	d = {}
	d.fromkeys((1,2,3),('one','two','three'))  # {1:('one','two','three'),2:('one','two','three')]
dict.clear() 清空字典
dict.pop(key) 移除键,同时返回对应的值
dict.popitem() 弹出一个项(随机弹出,因为字典是无序的)如果字典为空再用此方法则抛出异常
dict.copy() 返回字典的副本,只复制一层(浅拷贝)
dict.update(dict2) 将字典dict2合并到dict中,如果键相同,则此键的值取dict2的值作为新值
dict.get(key,default) 返回键key所对应的值,如果没有键,则返回default(自己定义,比如'木有')(默认返回一个None,表示啥都没找到)
dict.setdefault() 和get方法相似,但是setdefault()在字典里找不到相应的键会字典添加(在后面添加一个None)
	>>> d
	{1: 'one', 2: 'two', 3: 'three'}
	>>> d.setdefault(3)
	'three'
	>>> d.setdefault(5)
	>>> d
	{1: 'one', 2: 'two', 3: 'three', 5: None}

dict.keys() 返回可迭代的dict_keys集合对象
dict.values() 返回可迭代的dict_value值对象
dict.items() 返回可迭代的dict_items对象
12.字典的推倒式:
字典的推倒式是用可迭代对象依次生成字典内元素的表达式
语法:
	{键表达式:值表达式 for 变量 in 可迭代对象 [if 真值表达式]}
	注:[]的内容可以省略
示例:
	d = {x:x**2 for x in range(10)}
13.字典 vs 列表:
1.都是可变的容器
2.索引方式不同(列表用整数下标索引,字典用键索引)
3.字典的查找速度可能快于列表(重要,当数据很大时)
4.列表的存储是有序的,字典的存储是无序的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值