元组,字典,集合

  • 1.元组类型数据
  • 1.定义和创建
  • 2.元组拆包
  • 2.字典类型数据
  • 1.定义
  • 2.字典变量的操作
  • 3.字典类型操作函数和方法
  • 3.集合类型数据
  • 1.定义与性质
  • 2.表示方法
  • 3.集合间操作符
  • 4.集合处理方法
  • 4.集合类型的应用场景
  • 4.补充匿名函数,lambda


1.元组类型数据

1.定义和创建

元组是一种序列类型,和字符串,列表类似,都能通过下标来访问元素。
Python元组就和列表类型的区别就是:
1.元组使用小括号,列表使用方括号
2.一旦创建,元组中的元素是不可以修改
元组可以使用小括号()或者tuple()方法来创建,元素间用逗号分隔。在某些情况下也可以省略小括号,如:

def func():
    return1,2
#当函数的返回值有多个,其实就相当于返回了一个元组(1,2)
2.元组拆包

所谓元祖拆包就是将元组中的元素分别赋给变量(平行赋值),也就是将元组中的每个元素都取出来赋值给其它变量方便使用。

message=('zhangsan','178','53')
name,height,weight=message

上面两条语句就是将元组的message中的三个值分别赋值给name,height和weight这三个变量如果不想要其中的某个元素可以用**_(相当于是占位符)来代替相应位置,比如不想要’178’,可以写成name,_,weight=message。另外可以用带在前面带*的变量来表示不确定的数量(*rest),注意拆包之后的返回值是列表类型list**。

元组拆包的应用
1.可以十分方便的输出元组内的值
2.把这个元组当做相应函数的参数列表传进去

2.字典类型数据

1.定义

首先要了解映射:映射是一种**键(索引)值(数据)**的对应,例如:

“City”:“北京市”
“Address”:“中关村南大街5号”
“Zipcode”:“100081”

字典类型就是映射的体现。键值对:键是数据索引的扩展,而字典是键值对的集合,键值对之间是无序的(就是你创建的时候和你打印输出的时候不一定是一样的)。
字典用大括号{}和dict()方法来创建,键值对用冒号表示(如上举例)
{<键1>:<值1>,<键2>:<值2>,<键3>:<值3>,…,<键n>:<值n>}

2.字典变量的操作

<字典变量> = {<键1>:<值1>,<键2>:<值2>,<键3>:<值3>,…,<键n>:<值n>}
[]用来向字典变量中索引或增加元素

<值> = <字典变量>[<键>] ——索引(查找)
<字典变量>[<键>] = <值> ——(给字典变量增加元素修改元素)

python元组与字典入门答案 python元组和字典_python元组与字典入门答案


python元组与字典入门答案 python元组和字典_数据_02


python元组与字典入门答案 python元组和字典_键值对_03

3.字典类型操作函数和方法

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,如下图:

python元组与字典入门答案 python元组和字典_元组_04

d.get(k,<default>):键k存在,则返回相应值,不在则返回值
d.pop(k,<default>):键k存在,则取出相应值,不在则返回值
d.popitem():随机从字典d中取出一个键值对,以元组形式返回
d.clear():删除所有键值对
len(d):返回字典d中元素的个数

3.集合类型数据

1.定义与性质

集合是多个元素的无序组合(类似于数学中的定义),且每个元素唯一,不存在相同元素。另外,集合元素不可更改,不能是可变的数据类型。

2.表示方法

集合用{}来表示,与字典类型一样,元素间用逗号分隔。
建立集合用{}或者**set()**方法(注意:不能用{}来创建一个空集合,因为{}已经用于创建空的字典,所以建立空集合必须要用set())。

3.集合间操作符

主要有并,差,交,补四种操作(类似于数学中的集合操作)。

python元组与字典入门答案 python元组和字典_python_05


另外还有:

S<=T或者S<T:返回True或False,判断S和T的子集关系
S>=T或者S>T:返回True或False,判断S和T的包含关系

增强操作符(其实就是前面四种常用操作):

python元组与字典入门答案 python元组和字典_元组_06

4.集合处理方法

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转化为集合类型

4.集合类型的应用场景

数据去重:集合类型所有元素无重复
方法就是:将其它类型数据通过set()方法转换成集合,再转换回去

4.补充匿名函数,lambda

words_item.sort(key=lambda x:x[1],reverse=True) 上面这串代码的意思就是sort()排序函数要根据lambda x:x[1]这个函数的返回值作为关键字来进行降序排列。x就代表words_item中的元素,但是其中的元素是元组类型,里面有多个值,因此再用x[1]来表明要根据元组中的第二个元素来排序。