创建字典的用法有两种:
方法一:键值对的方法:
1 my_dict={"key1":"value1","key2":"value2","key3":"value3" ……}
my_dict = {"name": "小明", "age": 20, "sex": "男"} print(my_dict)
输出格式如下:
{'name': '小明', 'age': 20, 'sex': '男'}
方法二:通过映射函数创建字典,
list1:一个列表,用于指定要生成字典的键
list2:一个列表,用于指定要生成字典的值
返回值:如果list1和list2的长度不同,则与最短的列表长度相同
字典的另一种写法:
这里的元素 1 3 5代表的是key值 元素2 4 6代表的是value值
my_dict=dict( ( (元素1,元素2),(元素3,元素4),(元素5,元素6)……) )
my_dict = dict(zip(list1, list2))
1 # 通过映射函数创建字典, 2 3 name = ["邓肯", "吉诺比利", "帕克"] 4 sign = ["是佛", "妖刀", "跑车"] 5 6 # dictionary = dict(zip(list1, list2)) 7 # 输出的格式为键值对格式 8 my_dic = dict(zip(name, sign)) 9 print(my_dic) 10
输出格式如下:
· {'邓肯': '是佛', '吉诺比利': '妖刀', '帕克': '跑车'}
11 # 输出的格式为:列表格式,列表里为元组,元组里为字符串 12 # list = list(zip(list1, list2)) 13 my_dict = list(zip(name, sign)) 14 print(my_dict)
输出格式如下:
[('邓肯', '是佛'), ('吉诺比利', '妖刀'), ('帕克', '跑车')]
创建一个空值的字典:
使用dict对象的fromkeys()方法创建值为空的字典,
1 name_list = ["邓肯", "吉诺比利", "帕克"] 2 dictionary = dict.fromkeys(name_list) 3 print(dictionary)
输出格式如下:
{'邓肯': None, '吉诺比利': None, '帕克': None}
通过已经存在的元组和列表创建字典:
1 name_tuple = ("邓肯", "吉诺比利", "帕克") 2 sign = ["是佛", "妖刀", "跑车"] 3 dict1 = {name_tuple: sign} 4 print(dict1)
输出结果如下:
{('邓肯', '吉诺比利', '帕克'): ['是佛', '妖刀', '跑车']}
字典的删除:(dictionary为字典的名称)
删除整个字典:
del dictionary
删除字典中的全部元素
dictionary.clear()
删除并返回指定“键”的元素(指定删除字典中那个键值)
dictionary.pop("字典的"key"")
1 my_dict = {"name": "小明", "age": 20, "sex": "男"} 2 print(my_dict)
3 my_dict.pop("age") 4 print(my_dict)
输出结果如下:
{'name': '小明', 'age': 20, 'sex': '男'}
{'name': '小明', 'sex': '男'}
删除并返回字典中的一个元素
dictionary.popitem()
my_dict = {"name": "小明", "age": 20, "sex": "男"} print(my_dict) # 输出删除后的字典并返回删除的字典键值 ret = my_dict.popitem() print(ret) #输出的结果为: # ('sex', '男')
# 输出删除后剩余的字典元素 my_dict.popitem() print(my_dict) #输出的结果为: # {'name': '小明', 'age': 20}
获取字典中想要的元素:
方法一:通过“key”值获取想要的元素(不建议使用这种方法,如果通过key值获取,key值不存在,程序会报异常)
方法二:通过get()方法获取键的值
1 name = ["邓肯", "吉诺比利", "帕克"] 2 sign = ["是佛", "妖刀", "跑车"] 3 my_dict = dict(zip(name, sign)) 4 # print(my_dict) 5 # 返回值为默认的 6 print("吉诺比利的绰号是:", my_dict.get("吉诺比利")) 7 # key值不存在的情况下返回: "我的字典里没有此人" 8 print("罗宾逊的绰号是:", my_dict.get("罗宾逊", "我的字典里没有此人"))