字典的定义及特点
定义:是python中重要的数据类型,字典是有键值对组成的集合,通常使用键来访问数据,效率非常高,和list一样,支持对数据的添加,修改和删除。
特点:
1.不是序列类型,没有下标概念,是一种无序 的键值集合,是内置的高级数据类型。
2.用{}用{}来表示字典对象,每个键值对用逗号分隔
3.键 必须是不可变的类型【元组、字符串】值可以是任意的类型
4:每个键必定是惟一的,如果存在重复的键,后者会覆盖前者
关于字典的代码举例
1. 如何创建字典和添加数据
创建空字典,并验证类型
dicA={}
print(type(dicA))
输出结果为:
<class ‘dict’>
dicA={'pro':'大反派','school':'asdasd'}
dicA['name']='张三' #key:value
dicA['Age']='22'
dicA['job']='法外狂徒'
print(dicA) #输出完整的字典
print(len(dicA)) #数据项长度
输出结果:
{‘pro’: ‘大反派’, ‘school’: ‘asdasd’, ‘name’: ‘张三’, ‘Age’: ‘22’, ‘job’:‘法外狂徒’}
5 #看有几个key
2. 如何获取数据
通过键获取对应的值
print(dicA['name'])
输出结果:
张三
获取所有键
print(dicA.keys())
输出结果:
dict_keys([‘pro’, ‘school’, ‘name’, ‘Age’, ‘job’])
获取所有的值
print(dicA.values())
输出结果:
dict_values([‘大反派’, ‘asdasd’, ‘张三’, ‘22’, ‘法外狂徒’])
获取所有的键和值
print(dicA.items())
输出结果:
dict_items([(‘pro’, ‘大反派’), (‘school’, ‘asdasd’), (‘name’, ‘张三’),
(‘Age’, ‘22’), (‘job’, ‘法外狂徒’)])
或者可以使用遍历
'''for item in dicA.items():
print(item)'''
'''for key,value in dicA.items():
print('%s==%s'%(key,value))'''
3. 修改数据操作
dicA['name']='切瓦辛格'
print(dicA)
输出结果:
{‘pro’: ‘大反派’, ‘school’: ‘asdasd’, ‘name’: ‘切瓦辛格’, ‘Age’: ‘22’, ‘job’: ‘法外狂徒’}
也可以用update更新元组中的数据
dicA.update({'Age':50}) #使用update更新数据
dicA.update({'height':'180'})
4. 删除数据操作
可以用pop或者del,示例如下
del dicA['name']
dicA.pop('age')
通过删除key来删除数据
5. 排序(还不明白)
#如何排序 按着key排序
print(sorted(dicA.items(),key=lambda d:d[0]))
#按着value进行排序
print(sorted(dicA.items(),key=lambda d:d[1]))
问题
- 排序这块还不明白,以后再看一下。
列表,元组,字典的公有方法
#公有方法 + *(复制操作) in
#字符串合并
strA='床前明月光,'
strB='疑是地上霜。'
print(strA+strB)
#列表合并
listA=list(range(10))
listB=list(range(10,20))
print(listA+listB)
#同样可以用于元组合并
#复制 *
'''print(strA*3)
print(listA*3)'''
#in 判断对象是否存在 结果是布尔类型数据
print('明' in strA) #True
print(22 in listA) #False
dicK={'address':'江西'}
print('age' in dicK) #False