【Datawhale | python基础 | Day3】字典/集合/文件读取
1、字典dict
1.1 字典定义
- 字典是另一种可变容器模型,且可存储任意类型对象
- 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示
dict = { key1:value1, key2:value2 } - 键一般是唯一的,如果重复最后的一个键值对会替换前面的,且键必须是不可变的,如字符串,数字或元组,但不可以是列表
- 值不需要唯一, 值可以取任何数据类型
1.2 创建字典
print('--------1、字典-------','\n')
print('--------1.2、创建字典-------')
dict0 = {
'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict1 = {
'abc': 456 }
dict2 = {
'abc': 123, 98.6: 37 }
print('\n','dict0=',dict0,'\n','dict1=',dict1,'\n','dict2=',dict2,'\n')
"""
运行结果:
dict0= {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict1= {'abc': 456}
dict2= {'abc': 123, 98.6: 37}
"""
1.3 相关操作
- 访问字典:把相应的键放入到方括号中
- 修改字典:向字典添加新内容的方法是增加新的键/值对
- 删除字典元素:能删单一的元素也能清空字典,清空只需一项操作,删除一个字典用del命令
print('--------1.3、相关操作-------','\n')
print('--------1)访问字典-------','\n')
print('dict0[''Name'']:',dict0['Name'])
print('dict2[98.6]:',dict2[98.6])
"""
运行结果:
dict0[Alice]: 2341
dict2[98.6]: 37
"""
print('\n','--------2)修改字典-------','\n')
dict0['Age'] = 8; # 更新 Age
dict0['School'] = "菜鸟教程" # 添加信息
print('修改后的字典为:',dict0,'\n')
"""
修改后的字典为: {'Name': 'Runoob', 'Age': 8, 'Class': 'First', 'School': '菜鸟教程'}
"""
print('\n','--------3)删除字典-------','\n')
del dict0['Name'] # 删除键 'Name'
print('删除Name后的字典为:',dict0,'\n')
dict0.clear() # 清空字典
print('清空字典之后:',dict0,'\n')
del dict0 # 删除字典
# print('删除字典之后:',dict0,'\n')
"""
删除Name后的字典为: {'Age': 8, 'Class': 'First', 'School': '菜鸟教程'}
清空字典之后: {}
--------------删除字典之后,再次打印会报以下错误-------------------
NameError Traceback (most recent call last)
<ipython-input-19-c38418ac07a7> in <module>
37 print('清空字典之后:',dict0,'\n')
38 del dict0 # 删除字典
---> 39 print('删除字典之后:',dict0,'\n')
NameError: name 'dict0' is not defined
"""
1.4 内置函数和方法
1)内置函数
- len(dict):计算字典元素个数,即键的总数
- str(dict):输出字典,以可打印的字符串表示
- type(variable):返回输入的变量类型,如果变量是字典就返回字典类型