python笔记——组合数据类型

一.组合数据类型

1.概述
计算机不仅需要对单个变量表示的数据进行处理,更多情况,计算机需要对一组数据进行批量处理,由此引入了组合数据类型

2.分类
根据数据间的关系,组合数据类型可以分为三类
序列类型——字符串,元组,列表
集合类型——集合
映射类型——字典

二.序列类型及其操作

1.概述
序列类型的元素之间存在先后关系,通过序号进行访问,当需要访问序列中的某特定值的时候,只需要通过下标标出即可。所有序列类型使用相同的索引体系,即正向递增和反向递减序号。由于元素间存在顺序关系,所以可以在不同位置存放相同数值的元素。

2.序列类型的通用操作符
x in s——如果x是序列s的元素则返回True,否则返回False
x not in s——如果x是序列s的元素则返回False,否则返回True
s+t——连接两个序列
sn或ns——将序列复制n次
s[i]——返回s中第i个元素,i是序列的序号
s[i:j]——切片,返回从i到j的子序列,不包括j

3.序列类型的通用操作符或者方法
len(s)——返回序列长度
min(s)——返回序列最小元素
max(s)——返回序列最大元素
s.index(x)或s.index(x:i:j)——返回从i到j位置第一次出现元素x的位置
s.count(x)——返回序列s中出现x的总次数

4.元组tuple类型及其操作
元组类型在表达固定数据项,函数多返回值,多变量同步赋值,循环遍历等情况非常有用,元组类型用圆括号定义,逗号分隔,创建后不可以被随意修改

元组创建

tup1 = ('Google', 'Runoob', 1997, 2000)
 tup2 = (1, 2, 3, 4, 5 )
 tup3 = "a", "b", "c", "d"   #  不需要括号也可以
 type(tup3)
#结果为class 'tuple'

tup1 = ()#表示创建空元组
#当元组中只有一个元素时,必须加逗号表达式
tup=(1,)

函数多返回值

def fun(x):
      return x,x*3

多变量同步赋值

a,b='hi','hello'

循环遍历

for x,y in ((1,0),(2.8),(2,9)):
      print(x+y)

5.列表类型及其操作
列表也是一种序列类型,创建后可以被随意修改使用[]方括号或者list()来创建,元素用逗号分隔。

列表创建

ls=['cat','dog','tiger',1111]#创建了列表
it=ls#列表的赋值仅传递引用,也就是说it和ls指向同一片地址,本质上没有新创建列表
list()#创建了空列表

元组转列表

list('hello')
结果为['h','e','l','l','o']

索引操作

list=[1,33,'hello',['hh','er'],0]
list[2][-1][1]#结果为'r',注意正向索引和逆向索引的结合使用

列表的操作方法
ls.append(x)——在列表最后增加一个元素x
ls.clear(x)——删除ls中所有元素
ls.copy()——生成一个新列表,赋值ls中所有元素
ls.insert(i,x)——在i位置插入新元素x
ls.pop(i)——将列表中第i项元素取出并删除
ls.remove(x)——将列表中出现的第一个元素x删除
ls.reverse()——将列表中元素反转
str.join(ls)——使用str连接列表list

三.集合类型及其操作

1.概述
集合类型与数学中的集合类型一致,时包含0个或多个数据项的无序组合。集合中元素类型只能时整数,浮点数,字符串,元组等,不能是列表,字典和集合本身

2.集合类型及其操作

集合的创建
使用大括号创建,逗号分隔

S={425,"Boy",33,(2,2)}
V=set((1,2,'hh'))#可以使用set函数创建集合

集合的运算
A-B——返回一个新集合,即A集合去除包含B集合的内容后的集合
A&B——返回一个新集合,包含同时在集合A和B中的元素
A^B——返回一个新集合,包含A,B中的元素但不包含同时在其中的元素
A|B——返回一个新集合,包含A,B中所有元素

集合类型函数
S.add(x)——增加x
S.clear——移除S中所有项
S.remove(x)——移除x
len(x)——返回S元素个数
x in S——如果x是S元素,返回True

四.字典类型及其操作

1.概述
字典类型属于映射类型,映射类型是"键-值"数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的。键值对(key,value)是一种二元关系,在python中,映射类型主要以字典(dict)体现

2.字典类型的操作

{<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>}
#键和值之间通过冒号连接,不同键值对通过逗号隔开

字典的创建

Dcountry{"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(Dcountry)#结果顺序不同是正常的

字典的访问
字典的访问采用<字典变量>[<键>]的形式

Dcountry{"中国":"北京","美国":"华盛顿","法国":"巴黎"}
Dcountry["美国"]#结果是华盛顿
Dcountry["中国"]="beijing"#字典元素的修改
Dcountry["英国"]="伦敦"#增加字典元素

字典的操作函数
len(d)——获取字典元素个数
min(d)——字典d中最小的元素
max(d)——字典d中的最大元素
dict()——生成空字典

字典操作方法
d.kets()——返回所有键的信息
d.values()——返回所有值的信息
d.items()——返回所有键值对
d.get(key,default)——键存在则返回相应值,否则返回默认值
d.pop(key,default)——键存在则返回相应值,同时删除键值对,否则返回默认值
d.popitem()——从字典中随机取出一个键值对,以元组(key,value)形式返回
d.clear()——删除所有键值对

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值