一,字典 Dict
列表和元组的使用缺点: 当存储的数据要动态添加,删除的时候,我们一般会使用列表,但是列表有时候会遇到一些麻烦
定义一个列表保存,姓名性别,职业
name list=['尼古拉斯.赵四', '男', '铁憨憨'];
# 当修改元素的时候,需要记忆元素的下标
namelist[2]='演员'
# 如果列表的顺序发生了改变,添加年龄
# 定义一个列表保存,姓名、性别、职业
解决方案: 技能存储多个数据,还能再访问元素很方便的定位到需要的元素,采用字典
语法: {键1: 值1, 键2: 值2, 键3: 值3, ..., 键n: 值n}
说明:键值对: key-value
1.字典和列表类似,都可以用来存储多个数据
2.在列表中查找某个元素时,时根据下标进行的;字典中找某个元素时,时根据'名字'(就是冒号: 前面的那个值,列如上面代码中的''name'\'id'\'sex'')
3. 字典中 的每个元素都由2部分组成,键:值. 列如'name','班长','name'为键,'班长'为值
4.键可以使用数字,布尔值,元组,字符串等不可变数据类型,但是一般习惯使用字符串,切记不能使用列表等可变数据类型
5.每个字典的key 都是唯一的,如果出现了多个相同的key, 后面的value会覆盖之前value
习惯使用场景:
a 列表更适合保存相似数据,比如多个商品,多个姓名,多个时间
b. 字典更适合保存不同数据,比如一个商品的不同信息,一个人的不同信息
2. 定义字典
语法: 字典名= {key1:value1,key2:value2.....}
1,创建空字典
dict1={}
print(dict1,type(dict1))
2. 创建非空字典
方式一
dict21={'name':"张三","age":18}
print(dict121)
方式2
dict(keyvalue),key 是一个变量名,value是一个值)
dict22=dict(a='avvv',b='2353')
print(dicr22)
dict22=dict(a=200,b=33)
print(dict22)
方式三
dict()和zip(序列),zip表示映射
dict(zip([key1,key2,key3....],[value1,value2,value3...]))
# 注意 :key 的数量和value 的数量可以不一致,以少的作为参考
z1=zip([1,2],["a","b","c"])
dict23=dict(z1)
print(dict23)
dict23=dict(zip(('name',age),("aaa",10')))
print(dict23)
dict23=dict(zp("xyz",abc"))
方式四
[(key1,value1),(key2,value2)....] ==> {key1:value1,key2: value2...}
dict24 = dict([("a",10'),("b",20),("c",30)])
print(dict24)