一、元组与列表
元组的形式与列表相似,区别在于元组的所有元素放在“()”中,而不是“【】”中。
1、列表是有序可变,元组是有序不可变。
2、元组的访问和处理速度比列表快
3、元组可用作于字典的键,而列表则永远不能当作字典的键使用(列表是可变序列)
注意:如果元组中包含列表、字典、集合或其他可变类型的对象,这样的元组不能作为字典的‘键’或者集合的元素
元组的创建于删除
用“=”创建元组变量
>>>a_tuple=('a','b','z')
>>>x=() #创建的空元组
>>>a=1,2 #创建元组,有逗号时可以没有括号
>>>a
输出结果:(1,2)
tuple()函数将列表、字符串、字典、集合、map对象等其他类型可迭代对象转换为元组
>>>print(tuple('abcd'))
('a','b','c','d')
>>>s=tuple() #空元组
del命令删除整个元组对象,不能只删除元组中部分(元组属于有序不可变)
二、序列解包
含义:序列解包是Python特有的语法,它将一个序列(或任何可迭代对象)解开,并将得到的值存储到一系列变量中.
列如:序列解包功能对多个变量同时进行赋值:
>>>x,y,z=1.2.3
>>>v_tuple=(False,3.5,'exp')
>>>(x,y,z)=v_tuple
序列解包也可用于列表和字典,对字典使用时,默认是对字典‘键’的操作
序列解包同时遍历多个序列
>>>keys=['a','b','c','d']
>>>values=[1,2,3,4]
>>>for k,v in zip(keys,values):
print(k,v)
输出结果:
a 1
b 2
c 3
d 4
这里补充字典的含义
字典:是包含若干“键:值”对的无序可变序列,字典中的每个元素包含两个部分:“键”和“值”。
定义字典时,每个元素的“键”和“值”用冒号分隔,相邻元素之间用逗号分隔,所有的元素都放在一对“{}”中。
**注意:**字典的“键”是python中任意不可变数据,例如整数、实数、复数、字符串、元组等。不能使用列表、集合、字典作为字典的“键”,另外包含这些的元组也不能作为字典的“键”。
字典的“键”不允许重复,值可以重复
1、
字典的创建
>>>a_dict={'server':'db.diveintopython3.org','database':'mysql'}
也可以使用内置函数快速创建字典
>>>keys=['a','b','c','d']
>>>values=[1,2,3,4]
>>>dictionary=dict(zip(keys,values))
>>>x=dict()
>>>x={}
或者使用内置函数dict()根据定义的“键:值”对来创建字典
>>>d=dict(name='Dong',age=37)
还可以给定内容为“键”,创建“值”为空的字典:
>>>adict=dict.fromkeys(['name','age','sex'])
>>>adict
输出结果:
{'name':None,'age':None,'sex':None}
删除字典的几种方法
1、del命令删除字典中指定“键”对应的元素
2、clear()方法删除字典中所有元素
3、pop()方法删除并返回指定“键”的元素
4、popitem()方法删除并返回字典中的一个元素
字典的读取
1、get()方法可以获取指定键对应的值,并且在指定键不存在时返回对应的值,如果不指定,则默认返回None
>>>print(aDict.get('address'))
输出结果:None
>>>print(aDict.get('address','SDIBT'))
输出结果:SDTBT
2、items()方法可以返回字典“键:值”对
3、keys()方法可以返回字典的“键”
4、values()方法可以返回字典的“值”
如下所示:
>>>aDict={'name':'Dong','sex':'male','age':37}
>>>aDict.keys()
输出结果:dict_keys(['name','sex','age'])
>>>aDict.values()
输出结果:dict_values(['Dong','male','37'])
>>>aDict.itmes()
输出结果:dict_items([('name','Dong'),('sex','male'),('age','37')]
本周博客到此为止。完结撒花!