字典
定义
定义:字典是另一种容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 。
格式:d = {key1 : value1, key2 : value2, key3 : value3 }
创建
创建空字典:
dict = {}
dict01 = dict()
创建字典:
dict = {'a':'A','b':'B'}
dict = {dict([(1,2),(3,4)]} #{1:2,3:4}
修改
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
dict = {'a': 'A','b': 'B','c': 'C'}
dict['c'] = 'C' #添加信息
dict['c'] = 'CC' #修改信息
修改字典元素
能删单一的元素也能清空字典,清空只需一项操作。显示删除一个字典用del命令。
dict = {'a': 'A','b': 'B','c': 'C'}
del dict['c'] # 删除键 'c' --->{'a': 'A', 'b': 'B'}
dict.clear() # 清空字典 --->{}
del dict # 删除字典 ----><class 'dict'>
print(dict)
读取
读取元素(如果不存在则异常),建议:在字典中读取元素,先判断是否存在,再进行读取。
if 'd' in dict: #判断d是否在dict中
print(dict["d"])
print(dict)
获取
获取字典中所有的元素
dict = {'a': 'A','b': 'B','c': 'C'}
for key in dict:
print(key) #获取所有的键 -->a b c
print(dict[key]) #获取所有的值 -->A B C
输出结果
a
A
b
B
c
C
获取所有的键和值
dict = {'a': 'A','b': 'B','c': 'C'}
for key in dict.keys():
print(key)
for value in dict.values():
print(value)
输出结果
a
b
c
A
B
C
字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
dict = {'a': 'A','b': "B",'a': 'aaa'}
print ("dict['a']: ", dict['a'])
输出结果:
dict['a']: aaa
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
dict = {['a']: 'A','b': "B",'a': 'aaa'}
print ("dict['a']: ", dict['a'])
输出结果:
Traceback (most recent call last):
File "H:/python programe/达内/boke_test.py", line 1, in <module>
dict = {['a']: 'A','b': "B",'a': 'aaa'}
TypeError: unhashable type: 'list'
字典推导式
格式为:{键:值 for 键 变量 in 可迭代的对象 if 条件}
key:数字 value:数字平方
dic01 = {}
for i in range(1,10):
if i % 2 == 0:
dic01[i] = i**2
print(dic01)
等同于:
dic01 = {i:i**2 for i in range(1,10) if i % 2 ==0}
print(dic01)
输出结果
{2: 4, 4: 16, 6: 36, 8: 64}