【Python】组合数据类型【一】

简介: 【Python】组合数据类型【一】

【Python】组合数据类型【一】

在实际平常处理问题时,我们经常遇到的不是一个数据,而是一组数据,一组数据可以表达一个或者多个含义,那怎么让一组数据当成一个数据来处理呢?

       今天我们接触的东西就是来解决这个问题,在Python中,有三种最重要的数据类型集合类型,序列类型,字典类型。

       今天主要介绍一下集合类型及其操作。


集合类型的定义

集合是多个元素的无序组合

集合类型与数学中的集合概念一致

集合元素之间无序,每个元素唯一,不存在相同元素

集合元素不可更改,不能是可变数据类型

什么叫不可变数据类型呢   就是不能修改

建立集合类型{}或者set()

建立空集合类型,必须使用set()


我们建立一个集合:

A={“PYTHON”,123,(“PYTHON”,123)}

同样我们也可以使用set方法

>>>B=set(“pypy123”)

但是因为唯一性  所以会去掉相同的元素,B只会有5个元素:{‘1’,’p’,’2’,’3’,’y’},而且顺序是无序的。


看下面的例子

>>>C={“python”,123,”python”,123}

由于集合不能包含相同元素,所以集合C里面只python  123 这两个元素。


集合由大括号{}表示,元素之间用逗号隔开

集合中每一个元素唯一,不存在相同元素

集合之间元素无序

集合操作符

集合之间操作有四种

并运算  差运算

交运算  补运算

S|T:返回一个新集合,包括在集合S和T中的所有元素

S-T:返回一个新集合,包括在集合S但不在T中的元素

S&T:返回一个新集合,包括同时在S和T中的元素

S^T:返回一个新集合,包括集合S和T中的非相同元素

S<=T或S返回TRUE和FALSE,判断S和T的子集关系

S>=T或S>T:返回TRUE 和FASLE判断S和T的包含关系

看例子

image.png

这样的集合运算是比较简单的

只需要理解基础的四种


集合处理方法

S.add(x) :如果x不在集合S中,将x增加到S;

S.discard(x) :  移除S中的元素,如果x不在S中,不报错;

S.remove(x) : 移除S中的元素,如果x不在集合中,产生KeyEooro异常;如果产生异常,我们可以使用try...except()来捕捉这种异常,所以,我们使用函数的时候,如果编写异常代码时使用了异常处理,那就可以考虑使用第三种方法来移除元素。

S.clear() :移除S中所有的元素

S.pop() :随机取出一个元素(取出的概念就是把这个元素返回给用户,同时在S中删除),若S为空 ,产生KeyEooro异常。

S.copy() :返回集合S的一个副本;

len(S) :返回集合元素的个数;

x in  S  :判断元素x是否在S中,如果在就返回True,否则返回False;

Set(X) :将其他类型的变量转变为集合类型。

上面就是最常用的九个方法

看例子

image.png

因为集合里的元素是没有顺序的

所以for...in... 返回也是没有顺序的

另外我们还可以使用while的方法来遍历集合

image.png

       pop()方法在集合为空的时候会产生一个异常,捕捉异常,然后退出,这样可以产生同样的效果。集合A在完成之后会成为空集合。

集合类型应用场景


       最基础的就是包含关系的比较:

>>>”p” in {“p”,”y”,123}
True
>>>{“p”,”y”}>={“p”,”y”,123}
False

此外呢,集合有一个非常很重要的应用场景....

数据去重

我们看一个例子

比如给出一个列表


>>>ls=[“p”,”p”,”y”,”y”,123]
s=set(ls)   //S中已经去掉了重合元素
lt=list(s)    //  将集合转换为列表


       这时候就完成了去重,具体的操作,你们可以实践一下。

目录
相关文章
|
4月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
50 1
|
20天前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
70 8
|
26天前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
25 6
|
26天前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
32 6
|
2月前
|
Python
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
本篇将详细介绍Python中的常见数据类型转换方法以及 `NoneType` 的概念。包括如何在整数、浮点数、字符串等不同数据类型之间进行转换,并展示如何使用 `None` 进行初始赋值和处理特殊情况。通过本篇的学习,用户将深入理解如何处理不同类型的数据,并能够在代码中灵活使用 `None` 处理未赋值状态。
66 2
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
26 0
|
2月前
|
编译器 数据安全/隐私保护 Python
Python--基本数据类型
【10月更文挑战第4天】
|
2月前
|
存储 Python
python数据类型、debug工具(一)
python数据类型、debug工具(一)
|
2月前
|
Python
[oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
28 3
|
3月前
|
存储 Java C++
30天拿下Python之数据类型
30天拿下Python之数据类型
41 4
下一篇
DataWorks