#什么是字典?
#Python内置的数据结构之一,以列表一样,是一个可变序列(即可以执行增删改操作)(列表也是可变序列)
#不可变序列即不可以执行增删改操作如字符串,整数序列
#以键值对的方式存储数据,字典是一个无序序列
#列表是有序序列,第一个放进列表就在第一个位置上,第二个放进列表的元素的就在第二个位置上
#字典是一个无序序列,第一个放进去的不一定就在第一个位置上,第二个放进去的元素也不一定就在第二个位置上
#Scores={‘张三’: 100,'李四':98}
#Scores-->字典名,{-->花括号 ,逗号 '张三'-->键,:冒号 100-->值
#冒号之前叫做键,冒号之后叫值,元素元素之间用逗号,进行分割
#字典的实现原理
#根据key(键)查找value(值)所在的位置
########################################################################
########################################################
#字典的创建
#最常用的方式:使用花括号{}
#scores={‘张三’: 100,'李四':98}
#使用内置函数
#dict(name='jack',age=20)#等号左侧为键右侧为值
scores={'张三':100,'李四':90,'王五':45}
print(scores,type(scores))
s1=dict(name='jack',age=20,张三=100,王五='王五')#等号左侧为键右侧为值
print(s1)
#空字典
d={}
print(d)
######################################
d={10:'zx',12:[1,2]}
print(d)
字典列表的不同:
列表不允许对不存在的索引赋值,但字典则允许直接对不存在的 key 赋值。
下面解释
scores = {'语文': 89} # 通过key访问value print(scores['语文'])#89 # 对不存在的key赋值,就是增加key-value对 scores['数学'] = 93 scores[92] = 5.7 print(scores) # {'语文': 89, '数学': 93, 92: 5.7}
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9} # 对存在的key-value对赋值,就是修改key-value对 cars['BENS'] = 4.3 cars['AUDI'] = 3.8 print(cars) # {'BMW': 8.5, 'BENS': 4.3, 'AUDI': 3.8}
通过上面介绍可以看出,字典的 key 是它的关键。换个角度来看,字典的 key 就相当于它的索引,只不过这些索引不一定是整数类型,字典的 key 可以是任意不可变类型。
检验是否理解
lst=[] lst[0]=1'''会报错''
dic={} dic[1]=2 dic['i']=3 print(dic)#{1: 2, 'i': 3}