python第六天0304
字典
一、字典
字典是一种可变容器模型,可存储任意类型的对象,通过名字引用值的数据结构,为映射,都存储在一个特殊的键里可以是数字、字符串、元组
二、字典创建及使用
- 1.字典创建格式
d={key1:value1,key2:valuse2}其中把键/值对称为项
dict={'abc':123}
>>> dict
{'abc': 123}
>>> dict2={'abc':123,98.6:37}
>>> dict2
{'abc': 123, 98.6: 37}
- 2.dict函数
通过键值对建立字典
>> student=[('name','小张'),("number",'002')]
>>> student
[('name', '小张'), ('number', '002')]
>>> del(dict)#这里删除下字典,之前定义过,现在使用方法,冲突了
>>> detail =dict(student)
>>> dict
<class 'dict'>
>>> detail
{'name': '小张', 'number': '002'}
- 3.dict函数
通过关键字建立字典
detail=dict(name='小智',number='111')
>>> detail
{'name': '小智', 'number': '111'}
- 3.修改及增加字典
student
{'小萌': '100'}
>>> student["小萌"]=111 #修改字典
>>> student
{'小萌': 111}
>>> student["小霞"]='112'#增加字典
>>> student
{'小萌': 111, '小霞': '112'}
- 4.删除字典元素及字典
student
del student['小霞']#删除字典元素
>>> student
{'小萌': 111}
>>> del student #删除字典
>>> student
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'student' is not defined
- 5.字典特性
1、键不允许重复出现两次
2、键必须不可变,不能用列表作键
3、len函数计算键的个数,例len(dict)
4、type()函数返回输入的变量类型
- 4.字典的格式化字符串
>>> student
{'小霞': '1002'}
>>> print("小霞的学号:%(小霞)s"%student)
小霞的学号:1002
三、字典的方法
- 1.clear()方法:删除字典内的所有项,没有任何返回值,返回为None
注:clear方法清空原始字典中的元素
>>> student
{'小霞': '1002', '小张': '1002'}
>>> student.clear()
>>> student
{}
- 2.copy()方法:返回相同键值对的新字典,浅复制,不是副本
>>> student
student={"1":"001","2":"002","3":["001","002"]}
>>> student
{'1': '001', '2': '002', '3': ['001', '002']}
>>> st=student.copy()#cpy方法
>>> st
{'1': '001', '2': '002', '3': ['001', '002']}
>>> st["2"]="004"
>>> st
{'1': '001', '2': '004', '3': ['001', '002']}
>>> student
{'1': '001', '2': '002', '3': ['001', '002']}#修改某个值不影响原字典
>>> st["3"].remove("001")
>>> st
{'1': '001', '2': '004', '3': ['002']}
>>> student
{'1': '001', '2': '002', '3': ['002']}#移除某个值影响原字典
3.formkeys()方法:用于给每个键一个新字典
dict.fromkeys[seq,[,value]],seq:字典键值对列表,value:代表可选参数,返回为列表
>> seq=('age','sex')
>>> info=dict.fromkeys(seq)
File "<stdin>", line 1
info=dict.fromkeys(seq)
^
SyntaxError: invalid character in identifier
>>> info=dict.fromkeys(seq)
>>> info
{'age': None, 'sex': None}#默认回none
>>> info=dict.fromkeys(seq,[11,2])
>>> info
{'age': [11, 2], 'sex': [11, 2]}
3.formkeys()方法:用于给每个键一个新字典
dict.fromkeys[seq,[,value]],seq:字典键值对列表,value:代表可选参数,返回为列表
>> seq=('age','sex')
>>> info=dict.fromkeys(seq)
File "<stdin>", line 1
info=dict.fromkeys(seq)
^
SyntaxError: invalid character in identifier
>>> info=dict.fromkeys(seq)
>>> info
{'age': None, 'sex': None}#默认回none
>>> info=dict.fromkeys(seq,[11,2])
>>> info
{'age': [11, 2], 'sex': [11, 2]}