元组是一种序列类型,和字符串,列表类似,都能通过下标来访问元素。
Python元组就和列表类型的区别就是:
1.元组使用小括号,列表使用方括号
2.一旦创建,元组中的元素是不可以修改的
元组可以使用小括号()或者tuple()方法来创建,元素间用逗号分隔。在某些情况下也可以省略小括号,如:
def func():
return1,2
#当函数的返回值有多个,其实就相当于返回了一个元组(1,2)
所谓元祖拆包就是将元组中的元素分别赋给变量(平行赋值),也就是将元组中的每个元素都取出来赋值给其它变量方便使用。
message=('zhangsan','178','53')
name,height,weight=message
上面两条语句就是将元组的message中的三个值分别赋值给name,height和weight这三个变量如果不想要其中的某个元素可以用**_(相当于是占位符)来代替相应位置,比如不想要’178’,可以写成
name,_,weight=message
。另外可以用带在前面带*
的变量来表示不确定的数量(*rest)
,注意拆包之后的返回值是列表类型list**。
元组拆包的应用:
1.可以十分方便的输出元组内的值
2.把这个元组当做相应函数的参数列表传进去
首先要了解映射:映射是一种**键(索引)和值(数据)**的对应,例如:
“City”:“北京市”
“Address”:“中关村南大街5号”
“Zipcode”:“100081”
字典类型就是映射的体现。键值对:键是数据索引的扩展,而字典是键值对的集合,键值对之间是无序的(就是你创建的时候和你打印输出的时候不一定是一样的)。
字典用大括号{}和dict()方法来创建,键值对用冒号表示(如上举例)
{<键1>:<值1>,<键2>:<值2>,<键3>:<值3>,…,<键n>:<值n>}
<字典变量> = {<键1>:<值1>,<键2>:<值2>,<键3>:<值3>,…,<键n>:<值n>}
[]用来向字典变量中索引或增加元素
<值> = <字典变量>[<键>] ——索引(查找)
<字典变量>[<键>] = <值> ——(给字典变量增加元素或修改元素)
del d[K]:删除字典d中键K对应的数据值
k in d
:判断键k是否在字典中,如果在返回True,否则返回False
d.keys()
:返回字典d中所有的键信息
d.values()
:返回字典d中所有的值信息
d.items()
:返回字典d中所有的键值对信息
注意:d.keys(),d.values(),d.items()这三种方法的返回值并不是列表,而是dict_keys,dict_values,dict_items,如下图:
d.get(k,
:键k存在,则返回相应值,不在则返回值
d.pop(k,
:键k存在,则取出相应值,不在则返回值
d.popitem()
:随机从字典d中取出一个键值对,以元组形式返回
d.clear()
:删除所有键值对
len(d):返回字典d中元素的个数
集合是多个元素的无序组合(类似于数学中的定义),且每个元素唯一,不存在相同元素。另外,集合元素不可更改,不能是可变的数据类型。
集合用{}
来表示,与字典类型一样,元素间用逗号分隔。
建立集合用{}
或者**set()**方法(注意:不能用{}来创建一个空集合,因为{}已经用于创建空的字典,所以建立空集合必须要用set())。
主要有并,差,交,补四种操作(类似于数学中的集合操作)。
另外还有:
S<=T或者S
S>=T或者S>T:返回True或False,判断S和T的包含关系
增强操作符(其实就是前面四种常用操作):
S.add(x)
:如果x不在集合x中,将x增加S
S.discard(x)
:移除S中元素x,如果x不在集合中不会报错
S.remove(x)
:移除S中元素x,如果x不在集合中,产生KeyError异常
S.clear()
:移除S中的全部元素
S.pop()
:随机返回S中的一个元素,更新S,若S为空产生KeyError异常
S.copy()
:返回集合S的一个副本(复制)
len(S)
:返回集合S中的元素个数
x in S
:判断元素x是否在集合S中,若在返回True,否则返回False
x not in S
:判断元素x是否在集合S中,若不在返回True,否则返回False
set(x)
:将其它类型变量x转化为集合类型
数据去重:集合类型所有元素无重复
方法就是:将其它类型数据通过set()方法转换成集合,再转换回去
words_item.sort(key=lambda x:x[1],reverse=True)
上面这串代码的意思就是sort()排序函数要根据lambda x:x[1]
这个函数的返回值作为关键字来进行降序排列。x就代表words_item中的元素,但是其中的元素是元组类型,里面有多个值,因此再用x[1]来表明要根据元组中的第二个元素来排序。