字典格式: {key1:value1,key2,value2,.....}
特点:
- 跟列表一样,可以存储多个数据
- 根据key找到value
- key可以使用数字、布尔值、元组等不可变数据结构
- key具有唯一性,当出现重复key,后面的value就会覆盖前一个key对应的value
- 不能用切片
增加:
方法1能增加也能修改;方法2只能增加;方法3可以增加一个字典,并合并(不能用+的方式)
#方法1:
dictionary = {"name":"hannah","age":"18","sex":"girl"}
dictionary["weight"] = "45"
print(dictionary) #{'name': 'hannah', 'age': '18', 'sex': 'girl', 'weight': '45'}
#方法2:
dictionary.setdefault("出版社":"不晓得")
print(dictionary)
#方法3
dictionary = {"name":"hannah","age":"18","sex":"girl","weight":"45"}
d = {"youyou":"haha"}
dictionary.update(d)
print(dictionary)
#{'name': 'hannah', 'age': '18', 'sex': 'girl', 'weight': '45', 'youyou': 'haha'}
修改:
dictionary = {"name":"hannah","age":"18","sex":"girl"}
dictionary["age"] = 3
print(dictionary) #{'name': 'hannah', 'age': 3, 'sex': 'girl'}
删除:
- dict.pop(key):删除指定key并返回对应value
- dict.popitem():删除最后一个键值对,并以元组的形式返回,如 ('weight', '45')
- del dict[key]:删除指定key,与pop()很像
- del dict:把整个dict的结构都删除
- dict.clear():清空里面的键值对
dictionary = {"name":"hannah","age":"18","sex":"girl","weight":"45"}
# dictionary.pop("sex")
print(dictionary) #{'name': 'hannah', 'age': '18', 'weight': '45'}
# dictionary.popitem()
print(dictionary) #{'name': 'hannah', 'age': '18', 'sex': 'girl'}
# del dictionary["weight"]
print(dictionary) #{'name': 'hannah', 'age': '18', 'sex': 'girl'}
# del dictionary
print(dictionary) #报错 name 'dictionary' is not defined
dictionary.clear()
print(dictionary) #{}
查找:
- dict.get(key,default):在dict里找到key就返回value,找不到就显示None(默认),也可以在default里填写找不到key时返回的信息
- dict[key]:在dict里找到key就返回value,找不到就报错
- 第一种用得更多
dictionary = {"name":"hannah","age":"18","sex":"girl","weight":"45"}
value1 = dictionary.get("name")
print(value1) #hannah
value2 = dictionary["age"]
print(value2) #18
遍历:
遍历key,遍历value,遍历键值对
dictionary = {"name":"hannah","age":"18","sex":"girl","weight":"45"}
#遍历key 方法一:
for k in dictionary:
print(k,end=" ") #name age sex weight
#遍历key 方法二:
for k in dictionary.keys():
print(k,end=" ") #name age sex weight
#遍历value
for v in dictionary.values():
print(v,end=" ") #hannah 18 girl 45
#遍历键值对 --> 输出元组形式
for i in dictionary.items():
print(i,end=" ") #('name', 'hannah') ('age', '18') ('sex', 'girl') ('weight', '45')
print()
#遍历键值对 -->输出所有键和值
for k,v in dictionary.items():
print(k,v,end= " ") #name hannah age 18 sex girl weight 45
print()
注意:dict.values 的返回值是 dict_values(['hannah', '18', 'girl', '45']),dict.keys()和dict.items()同理