赞
踩
一 字典
1 字典的定义
字典是一个无序的,可修改的,元素呈键值对的形式,以逗号分割的,以大括号包围的序列;
字典是python基础数据类型当中唯一一个映射关系的数据类型;
由于字典无序,所以我们定义字典和字典生成之后的元素顺序是不同的;
dic = {key:value,key1:value,...}
2、字典的key的类型只能是不可变数据类型,value可以是可变数据类型
- dic = {'name':'zs',10:32,(1,2,3):(2,3,4)}
- print(dic)#{10: 32, 'name': 'zs', (1, 2, 3): (2, 3, 4)}
- dic = {'name':'zs',10:32,[1,2,3]:(2,3,4)}
- print(dic) #报错
3字典的增、删、改、查
(1)字典的增加
- dic = {'name':'zs','age':10,'height':1.75}
- dic.setdefault('weight',170)#setdefault {'height': 1.75, 'weight': 170, 'name': 'zs', 'age': 10}
- dic.setdefault('weight',180)# 如果 key在字典中就已经存在 就不会覆盖字典中的值
- dic['weight'] = 180 #根据key来设置值
- dic['weight'] = 120#如果key存在,就直接覆盖掉原有的值 {'weight': 120, 'height': 1.75, 'age': 10, 'name': 'zs'}
- print(dic)
(2)删除操作
- dic = {'name':'zs','height':1.75}
-
- dic.pop('name') 按照‘键’删除值
- print(dic)# {'height': 1.75, 'age': 10}
-
- dic.popitem() 随机删除一个键值对
-
- dic.clear() 清除字典中的左右键值对
-
- del dic 直接从内存中删除变量 , 效果是报错
-
- deldic['name'] 根据键值对删除
(3)修改操作
- dic = {'name':'zs','age':10,'weight':1.33}
- 根据键来修改值
- dic['name'] = '赵四'
- dic1 = {'name':'赵四','height':1.75}
-
- dic.update() 需要传递一个字典,如果key相同就直接修改对应的value,如果key不存在就直接添加键值对
- dic.update(dic1)
(4)查找操作
- dic = {'name':'zs','age':10,'weight':1.33}
- value = dic.get('name') 根据键获取对应的值我们可以定义一个变量接收返回值
- print(value)
-
- ret = dic.key 获取所有的‘键’
-
- values = dic.values() 获取所有的‘值’
-
- ret = dic.items() 返回列表套元组的形式
-
- ret = len(dic) 返回键值对个数
-
- tup = (1,2,3,)
- ret = dict.formkeys(tup,'aa') # {1: 'aa', 2: 'aa', 3: 'aa'}
- print(ret)
4.python字典的特点
因为字典是无序的,所以没有索引值
因为字典没有索引值,所以字典以键取值,(字典的键相当于列表的索引)
因为自电视以键取值,所以字典的键具有唯一性,且不可修改
因为字典的键不可修改,所以列表和字典可变类型的数据不可以给字典做键
5.字典的遍历
in 判断指定的键是否在字典中
not in 判断指定的键是否不再字典中
- dic = {'name':'zs','weight':129,'age':10}
- for key,value in dic.items():
- print(key,'---',value)
-
-
- 结果:
- age --- 10
- name --- zs
- weight --- 129
for.....in ...... 通过for.....in ...... :的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构
- in 和not in
- dic = {'name':'zs','weight':129,'age':10}
- key = dic.keys()
- if 'name' not in keys:
- dic['name'] = '赵四'
- else:
- dic['name'] = '尼古拉斯' dict_keys(['age', 'name', 'weight'])
- {'age': 10, 'name': '尼古拉斯', 'weight': 129}
-
- print(dic)
-
-
- for key in dic.key(): # 只获取key
- print(key)
- 结果: name
- weight
- age
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。