Python中字典的概念是什么,如何创建和使用?
这篇文章给大家分享的是Python中字典的相关内容。下文介绍了字典的概念、创建和使用字典、以及字典的运算和方法等等,对大家学习和理解python 字典有一定的帮助,感兴趣的朋友接下来一起跟随小编看看吧。
1、字典的概念
Python
中的字典数据类型和现实中的字典很像,它是以键值对(键和值的组合)的方式把数据组织到一起,可以通过键找到与之对应的值并进行操作。就跟字典中每次字(键)都会有对应的解释(值)一样,每个字和它的解释合在一起就是字典中的一个条目,而字典中通常包含了很多个这样的条目。
2、创建和使用字典
在Python
中创建字典使用{
}
字面量语法,这跟创建集合的符号是一样的。但是字典的{
}
中的元素是以键值对的形式存在的,每个元素由:分隔的两个值构成,:前面是键:后面是值,每个对之间用逗号,分割语法格式,
具体语法格式如下:
dict = { key1 : value1, key2 : value2 }
2.1 创建字典
# 创建字典 dict1 = { "姓名": "甜甜"} print(type(dict1), dict1) # class 'dict'> { '姓名': '甜甜'} dict2 = { "姓名": "甜甜", "性别": "女", "年龄": "19" } print(dict2) # { '姓名': '甜甜', '性别': '女', '年龄': '19'}
使用dict()
或者是字典的生成式语法来创建字典,示例代码如下:
# 使用dict 创建对象,键不可以加""引号 dict1 = dict(姓名="甜甜", 性别="女", 年龄="19") print(type(dict1), dict1) # class 'dict'> { '姓名': '甜甜', '性别': '女', '年龄': '19'} list1 = ["姓名", "性别", "年龄"] list2 = ["甜甜", "女", "19"] # zip()函数将对象中对应的元素打包成一个个元组,返回由这些元组组成的对象 dict2 = dict(zip(list1, list2)) print(dict2) # { '姓名': '甜甜', '性别': '女', '年龄': '19'} # 使用生成列创建字典 dict3 = { x: x ** 3 for x in range(6)} print(dict3) # { 0: 0, 1: 1, 2: 8, 3: 27, 4: 64, 5: 125}
可以使用len(dict)
得到字典元素个数,即键的总数
for循环也只能对键有效
dict1 = { '姓名': '甜甜', '性别': '女', '年龄': '19'} print(len(dict1)) # 3 for ch in dict1: print(ch) ''' 姓名 性别 年龄 '''
3、字典的运算
对于字典来说,成员运算和索引(字典的索引是键值对中的键)运算是尤为重要的,前者可以判断指定的键在不在字典中,后者可以得对应的值,或对其进行修改或者新加。字典中的键必须是不变类型,例如整数(int
)、浮点数(float
)、字符串(str
)、元组(tuple
)等类型的值。字典本身也是可变类型
示例代码:
dict1 = { '姓名': '甜甜', '性别': '女', '年龄': '19'} # 成员运算 print("姓名" in dict1, "性别" not in dict1) # True False # 先判断在修改 if "姓名" in dict1: dict1["姓名"] = '王甜甜' print(dict1) # { '姓名': '王甜甜', '性别': '女', '年龄': '19'} # 通过索引为dict1 增加数据 dict1["爱好"] = "旅游" print("爱好" in dict1) # True # 对字典的键进行循环并通索引运算获取键对应的值 for key in dict1: print(f'{ key} : { dict1[key]} ') ''' 姓名: 王甜甜 性别: 女 年龄: 19 爱好: 旅游 '''
注意:在通过索引运算获取字典中的值时,如指定的键没有在字典中,将会引发KeyError异常
3.1 字典的方法
字典的方法都是对键值对进行相关操作:
# 字典的嵌套 students = { 10001: { "name": "小明", "sex": "男", "age": 18} , 10002: { "name": "小红", "sex": "女", "age": 16} , 10003: { "name": "小白", "sex": "女", "age": 19} , 10004: { "name": "小周", "sex": "男", "age": 20} } # 使用get方法通过键获取对应的值,如果取不到是返回的默认值(默认为None) print(students.get(10002)) # { 'name': '小红', 'sex': '女', 'age': 16} print(students.get(10005)) # None print(students.get(10005, "没有这个学生")) # 没有这个学生 # 获取字典中所有的键 print(students.keys()) # dict_keys([10001, 10002, 10003, 10004]) # 获取字典中所有的值 print(students.values()) # dict_values([{ ...} , { ...} , { ...} , { ...} ]) # 获取字典中所有的键值对 # dict_items([(10001, { ...} ), (10002, { ....} ), (10003, { ...} ), (10004, { ...} )]) print(students.items()) # 对字典中所有的键值对进行循环遍历 for key, value in students.items(): print(key, '---> ', value) # 使用pop方法通过键删除对应的键值对并返回该值 stu1 = students.pop(10002) print(stu1) # { 'name': '小红', 'sex': '女', 'age': 16} print(len(students)) # 3 # 如果删除的不在字典中,会引发KeyError异常 # stu2 = students.pop(10005) # KeyError: 10005 # 使用popitem方法删除字典中最后一组键值对并返回对应的二元组 # 如果字典中没有元素,调用该方法将引发KeyError异常 key, value = students.popitem() print(key, value) # 10004 { 'name': '小周', 'sex': '男', 'age': 20} # setdefault可以更新字典中的键对应的值或向字典中存入新的键值对 # setdefault方法的第一个参数是键,第二个参数是键对应的值 # 如果这个键在字典中存在,更新这个键之后会返回原来与这个键对应的值 # 如果这个键在字典中不存在,方法将返回第二个参数的值,默认为None result = students.setdefault(10005, { "name": "小绿", "sex": "女", "age": 18} ) print(result) # { 'name': '小绿', 'sex': '女', 'age': 18} print(students) # { 10001: { ...} , (10003, { ...} ), 10005: { ...} } # 使用update更新字典元素,相同的键会用新值覆盖掉旧值,不同的键会添加到字典中 others = { 10005: { "name": "小南", "sex": "男", "age": 19} , 10006: { "name": "小北", "sex": "男", "age": 19} , 10007: { "name": "小冬", "sex": "男", "age": 19} } students.update(others) # { 10001: { ...} , 10003: { ...} , 10005: { ...} , 10006: { ...} , 10007: { ...} } print(students)
现在大家对于是Python中字典的概念、创建和使用字典、以及字典的运算和方法这些应该都清楚了吧,上述示例有一定的借鉴价值,有需要的朋友可以参考学习,希望对大家学习Python有帮助,想要了解更多大家可以关注网络其它相关文章。
文本转载自脚本之家
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Python中字典的概念是什么,如何创建和使用?
本文地址: https://pptw.com/jishu/651549.html