【python】[基础] 5 - 组合数据类型
2021/5/23 22:28:46
本文主要是介绍【python】[基础] 5 - 组合数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 集合类型
创建方式:{}
或 set()
1.1 集合定义
多个元素的无需组合
特点:
- 集合元素之间无序,每个元素唯一,不存在相同元素
- 集合元素不可更改,不能改变数据类型
- 集合用大括号{}表示,元素间用逗号
,
分隔 - 建立集合类型用
{}
或set()
- 建立空集合类型,必须使用 set()
1.使用 {} 建立集合 >>> A={"python",123,("python",123)} >>> A {'python', ('python', 123), 123} 2.使用set() 建立集合 >>> B=set('pypy123') >>> B {'1', 'p', '3', 'y', '2'}
1.2 集合操作符
- 集合间的操作
操作符 | 描述 |
---|---|
S 丨 T | 并,返回一个新集合,包括在集合S和T中的所有元素 |
S - T | 差,返回一个新集合,包括在集合S但不在T中的元素 |
S & T | 交,返回一个新集合,仅包括同时在集合S和T中的元素 |
S <= T 或 S < T | 返回True/False , 判断S是否是T的子集 |
S >=T 或 S > T | 返回True/False,判断S是否包含T |
增强操作符 | 描述 |
---|---|
S 丨= T | 并,更新集合S,包括在集合S和T中的所有元素 |
S -= T | 差,更新集合S,包括在集合S但不在T中的元素 |
S &= T | 交,更新集合S,包括同时在S和T中的元素 |
S ^= T | 补,更新集合S,包括集合S和T中的非相同元素 |
示例
1.3 集合处理 '方法'
操作函数/方法 | 描述 |
---|---|
S.add(x) | 如果x不在集合S中,将x增加到S |
S.discard(x) | 移除S中元素x,如果x不在集合S中,不报错 |
S.remote(x) | 移除S中元素x,如果x不在集合S中,产生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中,返回 False/True |
set(x) | 将其他类型变量x转变为集合类型 |
1.4 集合应用场景
-
包含关系比较
>>> 'p' in {'p','y',123} True >>> {'p','y'} >={'p','y',123} False
- 数据去重
>>> ls = ['p','p','y','y',123] >>> s=set(ls) #将列表转变为集合,利用集合无重复元素的特点 >>> s {'y', 123, 'p'} >>> lt=list(s) #去重后的数据重新转换为列表 >>> lt ['y', 123, 'p']
2. 序列类型
序列是一个基类类型,扩展类型有:字符串类型,元组类型,列表类型
定义:序列类型是具有先后关系的一组元素,是一维元素向量,元素类型可以不同; 元素间由序号引导,通过下标访问特定元素。
序列处理
6个操作符
操作符 | 描述 |
---|---|
x in s | 如果x是序列s的元素,返回True,否则返回False |
x not in s | 如果x是序列s的元素,返回False,否则返回True |
s + t | 连接两个序列s 和 t |
s n 或 n s | 将序列s复制n次 |
s[i] | 索引,返回s中的第i个元素,i是序号,从0开始 |
s[i:j:k] | 切片,返回序列s中第 i 开始,不到 j 的元素,以 k 为步长 |
5个函数和'方法'
函数和方法 | 描述 |
---|---|
len(s) | 返回序列s的长度,即元素个数 |
min(s) | 返回序列s的最小值,s中元素需要可比较 |
max(s) | 返回序列s中的最大元素,s中元素需要可比较 |
s.index(x) 或 s.index(x,i,j) | 返回序列s从i开始到j位置中第一次出现元素x的位置 |
s.count(x) | 返回序列s中x出现的总次数 |
1). 元组类型
1.1 元组定义
- 使用小括号
()
或tuple()
创建,元素间用逗号分隔 - 可以使用或不适用小括号
- 元组是一种序列类型,一旦创建就不能被修改
#示例: >>> create = "cat",'dog','tiger','human' >>> create ('cat', 'dog', 'tiger', 'human')
color = (0x001100,'blue',create)
color
(4352, 'blue', ('cat', 'dog', 'tiger', 'human'))
1.2元组操作
- 元组继承了序列类型的全部 通用操作
- 由于元组创建后不能修改,因此没有特殊操作
2). 列表类型
2.1 列表定义
- 列表创建方式:使用方括号
[]
或list()
创建,元素间用逗号分隔 - 列表是一种序列类型,创建后可以随意被修改
- 列表中元素类型可以不同,无长度限制
2.2 操作函数和方法
操作符
操作符 描述 ls[i] = x 赋值,替换列表ls第i个元素为x ls[i:j:k] = lt 用列表lt替换ls切片后所对应元素子列表 del ls[i] 删除列表ls中第i个元素 del ls[i:j:k] 删除列表ls中切片取出的子列表元素 ls += lt 更新列表ls,将lt元素增加到列表ls中 ls *= n 更新列表ls,将其元素重复n次
函数/方法
函数/方法 | 描述 |
---|---|
ls.append(x) | 在列表最后增加一个元素x |
ls.clear() | 删除列表ls中所有元素 |
ls.copy() | 生成一个新列表,赋值ls中所有元素 |
ls.insert(i,x) | 在列表ls的第 i 位置增加元素 x |
ls.pop(i) | 将列表ls中第 i 位置元素取出并从列表中删除 |
ls.remove(x) | 将列表ls中出现的第一个元素x删除 |
ls.reverse() | 将列表ls中的元素反转 |
3. 字典类型
3.1 字典定义
创建方式:采用大括号 {}
或 dict()
创建,键值对用冒号 :
表示
- 字典类型是'映射'的体现,是键值对的集合,键值对之间无序
- 键值对:键是数据索引的扩展
3.2 字典类型用法
<字典变量> = {<键1>:<值1>,...,<键n><值n>} <值> = <字典变量>[<键>] <字典变量>[<键>] = <值> #[] 用来向字典变量中索引或增加元素
函数/方法
查看
函数/方法 | 描述 |
---|---|
del d[k] | 删除字典d中键k对应的数据值 |
k in d | 判断键k是否在字典d中,如果在返回True,否则返回False |
d.keys() | 返回字典d中所有的键信息 |
d.valuers() | 返回字典d中所有的值信息 |
d.items() | 返回字典d中所有的键值对信息 |
应用
函数/方法 | 描述 |
---|---|
d.get(k,<defualt>) | 键k存在,则返回相应值,不存在则返回default值 |
d.pop(k,<defualt>) | 键k存在,则取出相应值(取出后会从字典中删除),不存在则返回default值 |
d.popietm() | 随机从字典中取出一个键值对,以元组形式返回 |
d.clear() | 删除所有的键值对 |
len(d) | 返回字典d中元素的个数 |
#示例 >>> d={'中国':'beijing','美国':'niuyue','法国':'bali'} >>> d.get('中国') 'beijing' >>> d {'中国': 'beijing', '美国': 'niuyue', '法国': 'bali'} >>> d.pop('英国','不存在') '不存在' >>> d.pop('法国','不存在') 'bali' >>> d {'中国': 'beijing', '美国': 'niuyue'}
学习途径:中国大学mooc - 嵩天 - python语言程序设计
这篇关于【python】[基础] 5 - 组合数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础
- 2024-09-2610 种方法写出更好的 Python 代码
- 2024-09-25Python编程基础详解
- 2024-09-25Python编程入门教程
- 2024-09-25从零开始使用Python构建LLaMA 3
- 2024-09-23Python中理解和使用树形结构的简单教程
- 2024-09-23Python 编程基础入门
- 2024-09-18初探Python股票自动化交易:入门指南
- 2024-09-18Python量化入门:轻松掌握量化分析基础与实战