python6入门 | 组合数据类型

组 合 数 据 类 型

组合数据类型:计算机不仅可以对单个变量表示的数据进行处理,通常情况下,计算机更需要对一组数据进行批量处理。

这种能够表示多个数据的类型称为组合数据类型。

Python中最常用的组合数据类型有3类,分别是集合数据、序列数据和映射数据

一、集合类型({})

1.1 基础概念

1、定义

集合是元素的无序组合,其类型用大括号{ }表示,没有索引和位置的概念,集合中元素可以动态增加或删除。(可变元素)

集合类型是一个元素集合,元素之间无序,相同元素在集合中存在唯一存在

2、集合中元素的特点:

①集合元素不可重复,元素类型只能是固定数据类型,而列表、字典和集合类型本身都是可变数据类型,所以不能作为集合的元素出现。

②无序

a.集合中元素是无序的,集合输出顺序与定义顺序可以不一致。

b.集合元素间没有顺序,不能比较,不能排序。

3、集合类型的标记:type()函数返回的集合标记为 ’set’ 。

4、集合的创建

4.1 创建方式:①用set()函数创建;②直接赋值创建

4.1.1 用set()函数创建集合类型

①set(x)函数可以根据参数x创建集合类型,要求参数x是组合数据类型。

②空集:set()

4.1.2 直接赋值创建

赋初值方法利用{}大括号创建集合。需要注意,由于集合和字典类型都用大括号标记,采用大括号方式创建时,必须赋初值,不能创建空集合

注意:set()函数只接受1个参数,因此会分解该参数,形成集合。而{ }可以接受多个参数将输入字符串分解为多个元素,再进行去重,形成集合。

注意:① set(x)函数将其他的组合数据类型变成集合类型,返回结果是一个无重复且排序任意的集合

②集合类型主要用于元素去重,适合于任何组合数据类型。

1.2 集合类型的操作

集合的操作符:集合类型有4个操作符:

操作符的运算

描述

S-T

在S集合但是不在T集合中的元素(差集)

S&T

同时在S和T集合中的元素(交集)

S^T

在S和T中非共同元素(补集)

S|T

包括S和T中所有元素(并集)

1.3 集合类型的操作函数

集合的类型有一些常用的操作函数或方法,具体如下:

函数或方法

描述

S.addx

如果数据项x不在集合S中,将x增加到S

S.remove(x)

如果x在集合S中,移除该元素;不在则产生KeyError异常

S.clear()

移除S中所有数据,输出结果为:set()

len(S)

返回集合S的元素个数

x in S

如果x是S的元素,返回True;否则返回False

x not in S

如果x不是S的元素,返回True;否则返回False

二、序列类型

1.1 基础概念

序列类型是一维元素向量,元素之间存在先后关系通过序号访问,元素之间不排他。

序列的基本思想和表示方法均来源于数学概念。在数学中,经常给序列起一个名字,例如,n个数的序列S,可以表示为:

S=s0,s1,s2,...,sn-1

当需要访问序列中某个特定值时,只需要通过下标标出 即可。

例如:需要找到序号为2的元素,即通过s2获得。

注意:序列的下角标从0开始编号通常说第1个元素,指的是序号为0的元素。

由于元素之间存在顺序关系,故序列中可以存在数值相同但位置不同的元素。

python语言中提供了多种序列数据类型,其中比较重要是字符串类型列表类型元组类型

序列类型使用相同的索引体系,即正向递增和反向递减序号。

1.2 操作符和函数

操作符

描述

in

x in s,如果xs的元素,返回True;否则False

not in

x not in s,如果x不是s的元素,返回True;否则False

+

s+t,链接st

*

s*nn*s,将序列s复制n次。

s[i]

索引,返回序列的i个元素

s[i:j]

切片,返回序列sij的子序列(不包含第j个元素)

s[i:j:k]

步骤切片,返回序列sij个元素以k为步数的子序列

len(s)

序列s的元素个数(长度)

min(s)

序列s中的最小元素

max(s)

序列s中的最大元素

s.index(x)

序列s中第一次出现元素x的位置

s.count(x)

序列s中出现x的总次数

1.3 列表类型([ ])

1.列表的定义

列表是包括0个或多个元素的有序序列,属于序列类型。列表可以进行元素增加、删除、替换、查找等操作

列表没有长度限制,元素类型可以不同,不需要预定义长度。

列表类型用中括号([ ])表示,

也可以通过list(x)函数将集合或字符串类型转换成列表类型。list( )函数可生成空列表。

空列表:list( ) 或 [ ]

2.列表的索引

索引是列表的基本操作,用于获得列表中的一个元素。

3.列表的切片

4.遍历循环(重点)

for <循环变量> in <列表变量>

<语句块>

1.4 元组类型(不可变数据)

定义:python中的元组是有序元素组成的集合,与列表的区别在于,元组是不可变的,一旦定义,就不能修改元组类型与列表类型相似,都是序列类型

①元组类型在python语言中表示为:tuple,一般使用小括号和逗号

②可以使用 tuple() 或者 ( ) 直接初始化元组;

③元组的访问

t = (1,2,3,4,5,6,7)

print(t[2])    #输出3

元组的访问和列表类似,都可以通过索引访问;

④元组修改

由于元组是无法被修改的,因此,元组没有增删改查的方法,这也体现了元组的不可变性;

注意:元组类型一旦定义就不能修改,在编程中不够灵活,同时,元组类型所有操作都可以由列表类型实现,因此,一般编程中,如果需要自定义变量,通常以列表类型替代元组类型使用。

1.5 列表类型的操作函数

列表类型继承序列类型的特点,有一些通用的操作函数,如下:

操作函数

描述

len(ls)

列表ls的元素个数(长度)

min(ls)

列表ls中最小元素

max(ls)

列表ls中最大元素

list(x)

将x转变成列表类型

1.6 列表类型的操作方法

列表类型继承序列类型的特点,有一些通用的操作函数,如下:

操作函数

描述

ls.append(x)

在列表ls的最后增加一个元素x

ls.insert(i,x)

在列表ls的i位置增加元素x

ls.clear( )

删除ls中的所有元素

ls.pop(i)

将列表ls中的第i项元素取出并从ls中删除该元素

ls.remove(x)

将列表ls中出现的第一个x元素移除

ls.reverse( )

将列表ls中的元素反转

ls.copy( )

生成一个新列表,复制ls中所有元素

  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值