Python组合数据类型及操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



一、Python组合数据类型

集合类型 (集合)

序列类型 (字符串、元组、列表)

映射类型 (字典)


二、集合

1.定义

python中集合用大括号表示{},每个元素间用逗号分隔。
集合类型与数学中的集合概念一致。
集合元素之间无序,每个元素唯一,不存在相同元素。
集合元素是不可变数据类型,集合中的元素不可更改

使用{}建立集合:
A={"python",123,("python",123)}
#集合中的元素为{123,'python',("python",123)

使用set()建立集合:
B=set('pypy123') 
#括号中的内容也可为列表;集合中的元素为('1','2','3','p','y'),集合会将字符串中的元素拆分,然后去重。

3.操作方法

A.add(x):如果x不在集合A中,将x增加到A
A.discard(x):移除A中元素x,如果x不存在,不报错
A.remove(x):移除A中元素x,如果x不存在,报错
A.clear():清除A中所有元素
A.pop():随机返回一个A中元素,并删除该元素;若A为空,则报错
A.copy():返回A的一个副本
len(A):返回A的长度
x in A #判断A中有无元素x

三.序列类型

1.定义

序列是具有先后关系的一组元素,元素之间可以相同,元素类型可以不同,元素间由序号引导,通过下标访问特定的序列元素。序列是一个基类类型,它的衍生类型有字符串类型,元组类型,列表类型。

序列存在正向递增序号和反向递减序号的索引关系,正向递增序号左边第一个元素下标为0,向右依次递增;反向递减序号最后一个元素下标为-1,向左依次递减。
在这里插入图片描述

2.序列处理函数及方法

通用操作符

x in S #判断x是否在序列S中
s+t #连接s和t两个序列
s*n或n*s #将序列s复制n次
s[i] #返回s中第i个元素,i是序列的序号
s[i:j]或s[i:j:k] #切片,返回s中i到j以k为步长的元素子序列
s[::-1] #将列表元素取反

函数

len(s):返回s的长度
min(s):返回s中最小值
max(s):返回s中最大值
s.index(x)或s.index(x,i,j):返回s从i到j第一次出现元素x的位置
s.count(x):返回s中出现x的次数

3.元组类型

特点:一旦创建就不能被修改

创建:使用()或tuple(),元素之间用逗号分隔。也可以不用小括号创建。
如s=1,2,3

4.列表类型

特点:创建后可以随意修改,列表中各元素类型可以不同,长度无限制
创建:使用方括号[]或list()创建,元素之间用逗号分隔

ps:若已存在一个列表ls,则lt=ls并没有创建一个新的列表,赋值只是起传递引用作用,有点类似于C中的指针。

函数与方法:

s[i]=x:替换s中第i个元素为x
s[i:j:k]=lt:用列表lt替换s切片后所对应元素子序列
del s[i]:删除s中第i个元素
del s[i:j:k]:删除s中i到j步长为k的元素
s +=lt:将lt加到s中
s *=n:更新s,其元素重复n次

s.append(x):在s最后增加一个元素x
s.clear():清除s中所有元素
s.copy():生成一个新列表,赋值s中所有元素
s.insert(i,x):在s中第i个位置插入元素x
s.pop(i):取出s中第i个位置的元素,并删除列表中该元素
s.remove(x):将s中第一个出现的x删除
s.reverse():将s中元素反转

四.字典类型

1.定义

学习字典类型之前,要先理解映射的概念。
映射是一种键(索引)和值(数据)的对应关系,字典是元素映射关系的组成。

字典的定义:字典是键值对的集合,键值对之间无序。
创建:采用大括号{}和dict()创建,键值对用冒号:表示

d={'a':1,'b':2,'c':3}
d['a']=3

2.函数及方法

del d[k]:删除d中键k对应的数据值
k in d:判断键k是否在字典中,如果在返回True,反之返回False
d.keys():返回d中所有键的信息
d.values():返回d中所有值的信息
d.items():返回d中所有键值对信息
d.get(k,<default>):若键k存在,则返回相应值;不存在则返回<default>值
d.pop(k,<default>):若键k存在,则取出相应值;不存在则返回<default>值
d.popitem():随机从字典中取出一个键值对,以元组形式返回
d.clear():删除d中所有键值对
len(d):返回d中所有元素的个数
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值