一、认识与创建字典
字典是另外一种可变容器类型,且可以存储任意类型对象。字典既能存储多个数据,又能很方便准确的定位元素。
字典创建语法:
字典的创建使用{},每个键值(key --> value)对用冒号(:)分割,每对之间用逗号(,)分割。
eg:
#创建字典
dict0 = {'name':'mgvccl','age':'18','address':'重庆'}
二、操作字典
①访问字典:字典中根据键访问值,可以指定自点名和放在方括号内的键。
eg:
#访问字典
dict0 = {'name':'mgvccl','age':'18','address':'重庆'}
print(dict0)
print(dict0['name'])
print(dict0['age'])
print(dict0['address'])
②修改字典元素:通过key找到具体元素之后,给定一个新的元素值。
eg:
# 修改字典元素
dict0 = {'name':'mgvccl','age':'18','address':'重庆'}
dict0['name'] = 'luke'
dict0['age'] = '20'
dict0['address'] = '四川'
print(dict0) #{'name': 'luke', 'age': '20', 'address': '四川'}
③添加元素:向字典中添加元素的时候,只要添加的键在字典中不存在,就会新增这个元素。
eg:
#添加元素
dict0 = {'name': 'mgvccl', 'age': '18', 'address': '重庆'}
dict0['gender'] = '男'
print(dict0) #{'name': 'mgvccl', 'age': '18', 'address': '重庆', 'gender': '男'}
④删除字典元素:
del:del既可以删除指定的字典元素(列表也可以指定),也可以删除整个字典,如果不指定key,代表删除整个字典。
clear:被清空的字典最后会剩下一个空的字典在,而用del删除的字典在程序当中就不存在了。
eg:
'''
del:del既可以删除指定的字典元素(列表也可以指定),也可以删除整个字典,如果不指定key,代表删除整个字典。
clear:被清空的字典最后会剩下一个空的字典在,而用del删除的字典在程序当中就不存在了。
'''
#del
dict0 = {'name': 'mgvccl', 'age': '18', 'address': '重庆', 'gender': '男'}
del dict0['gender']
print(dict0)
# del dict0
# print(dict0) # 报错,NameError: name 'dict0' is not defined
#clear
dict0.clear()
print(dict0) # {}
三、字典方法
①len:计算字典中元素的个数。语法为 len(变量名)。
eg:
#计算字典中元素的个数
dict0 = {'name':'mgvccl','age':'18','address':'重庆'}
print(len(dict0))
②str:输出字典,以可打印的字符串表示。
eg:
# 输出字典,已可打印的字符串表示
dict0 = {'name':'mgvccl','age':'18','address':'重庆'}
str1=str(dict0)
print(str1)
print(type(str1)) #判断str1是的数据类型
③get:返回指定键的值,如果值不在字典中返回None或者你设定的值。
eg:
# 返回指定键的值,如果值不在字典中返回none或者你设定的值
dict0 = {'name':'mgvccl','age':'18','address':'重庆'}
print(dict0.get('name')) #mgvccl
print(dict0.get('gender')) #None
print(dict0.get('gender','男')) #男
print(dict0) #{'name':'mgvccl','age':'18','address':'重庆'}
④返回值:
dict.keys():以列表返回一个字典所有的键。
dict.values():以列表返回一个字典所有的键对应的键值。
eg:
'''
dict.keys():以列表返回一个字典所有的键。
dict.values():以列表返回一个字典所有的键值。
'''
dict0 = {'name':'mgvccl','age':'18','address':'重庆'}
print(dict0.keys()) #dict_keys(['name', 'age', 'address'])
print(dict0.values()) #dict_values(['mgvccl', '18', '重庆'])
⑤setdefault:和get类似,但如果键不存在于字典中,将会添加键和键值添加到字典中。
eg:
# setdefault:和get类似,但如果键不存在于字典中,将会添加键和键值添加到字典中。
dict0 = {'name': 'mgvccl', 'age': '18', 'address': '重庆'}
print(dict0.setdefault('name')) #mgvccl
print(dict0.setdefault('gender','男')) #男
print(dict0) #{'name': 'mgvccl', 'age': '18', 'address': '重庆', 'gender': '男'}