八、组合数据类型

1.集合类型

-集合是多个元素的无序集合,和数学中的集合概念相同,与C++中的set相同

-集合中元素是无序且互逆的

-集合类型是由不可变数据类型组成的

-集合用 { } 表示,元素之间用逗号分隔

-建立集合类型需要使用 { } 或者 set ( ) , 建立空集合类型必须使用 set( )

A = {"dzzhyk" , 123 , (255,255)}
B = set("dzzhyk") = {'d' , 'z' , 'h' , 'y' , 'k'}

2.集合操作符

-集合之间的主要运算:并、差、交、补

-除了基本运算之外,Python还提供了   <= 、 >= 、 <  、> 等运算符,还有 |= 、-= 、&= 、^=

A = {'p' , 'y' , 123}
B = set("python123")
print(A - B)
print(A ^ B)
print(A | B)
print(A & B)
C = {'d' , 'z' , 'h' , 'y' , 'k' , 123}
D = set("dzzhyk")
print(C <= D)
print(C >= D)
A -= B
print(A)
A ^= B
print(A)
A |= B
print(A)
A &= B
print(A)

#输出:

{123}
{'n', 'h', '2', '3', 't', 'o', 123, '1'}
{'n', 'h', '2', '3', 't', 'p', 'o', 'y', 123, '1'}
{'y', 'p'}
False
True
{123}
{'n', 'h', '2', '3', 't', 'p', 'o', 'y', 123, '1'}
{'h', '2', '3', 'p', 'o', 'n', 't', 'y', 123, '1'}
{'n', 'h', '2', '3', 't', 'p', 'o', 'y', '1'}

3.集合操作符

A = {'d' , 'z' , 'h' , 'y' , 'k'}
A.add(x)        #向集合中增加元素x
A.discard(x)    #去除集合中的元素x,如果x不在集合中
A.remove(x)     #去除集合中的元素x,如果x不在集合中,返回KeyError异常
A.clear()       #清空集合中的元素
A.pop()         #随机返回A中的一个元素,更新A,如果A为空返回KeyError异常
A.copy()        #返回集合A的一个副本
len(A)          #返回集合A的元素个数
x in A          #判断x是否在集合A中
x not in A      #判断x是否不再集合A中
set(x)          #将非集合类型变量转化成集合类型

#Python中的报错检查机制:

try:
    <内容>
except:        #如果接收到错误返回信息就执行except中的操作
    <内容>

4.集合类型的应用场景

-包含关系的比较

-数据去重

ls = ['p' , 'p' , 'p' , 'y' , 'y' , 123]
s = set(ls)
ls = list(s)
#可完成去重操作

5.序列类型定义

-序列是具有先后关系的一组元素,是基类类型(序列可以分支成为:字符串类型、元组类型、列表类型)

-元素之间可以类型不同,元素可以相同,存在顺序关系

序号:

python 组合数据类型详解 python中常用的组合数据类型_应用场景

6.序列处理函数及方法

6个序列的通用处理符:

python 组合数据类型详解 python中常用的组合数据类型_应用场景_02

5个序列的通用处理函数:

python 组合数据类型详解 python中常用的组合数据类型_元组_03

实例:反序输出字符串

ls = input()
print(ls[::-1])

7.元组类型及操作

-元组是序列的一种类型,元组一旦被创建就不能被修改

-使用 ( ) 或者 tuple( ) 来创建一个元组类型,元素间用 , 分隔

-函数中return多个值时是返回的元组类型

t = ("1" , "2" , "d")
print(t)
def func():
    return 1,100
print(func())
#输出:
('1', '2', 'd')
(1, 100)

s = (t , "dzzhyk" , "python")
#使用s[0][1]就可以索引到t中的“2”
print(s[0][1])

8.列表类型及操作

-列表是一种序列类型,创建之后其中的元素可以随意修改

-列表使用方括号 [ ] 或者 list( ) 函数来创建,元素间用 , 分隔

-列表可以通过 赋值= 操作将列表的内容传递给另一个变量,但是没有真正创建新的列表,只是传递了列表的引用

列表的操作方法:

python 组合数据类型详解 python中常用的组合数据类型_应用场景_04

python 组合数据类型详解 python中常用的组合数据类型_应用场景_05

9.序列类型的应用场景

-表示一组有序数据,进而操作他们

for item in ls:
    <语句>

-在某些场景下使用元组类型对数据进行保护

10.字典类型

-映射类型相当于C++中的map

定义方法:

d = {"Name":"dzzhyk" , "Age":"18" , "Address":"Beijing"}
#获取key对应的键值:
print(d["Name"])
#可以使用{}生成空字典类型
d1 = {}

11.字典类型的操作方法

python 组合数据类型详解 python中常用的组合数据类型_元组_06

python 组合数据类型详解 python中常用的组合数据类型_应用场景_07


12.字典类型的应用场景

-映射的表达,表达键值对数据,进而操作他们