Python中基础数据类型 set集合知识点总结

集合的简介

  • 集合是一个无序、不重复的序列
  • 它的基本用法包括成员检测和消除重复元素
  • 集合对象也支持像 联合,交集,差集,对称差分等数学运算
  • 集合中所有的元素放在 {} 中间,并用逗号分开

集合的例子

这里会有个重点知识

# 声明
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)

set_ = {1, 1, 1, 1, 2}
print(set_)

# 输出结果
{'orange', 'pear', 'banana', 'apple'}
{1, 2}

自动去重了,每个元素只保留一个,且是无序的

再来看一个例子

set_ = {{1, }, {1, }}
print(set_)

set_ = {[1, ], [2, ]}
print(set_)

# 输出结果
    set_ = {{1, }, {1, }}
TypeError: unhashable type: 'set'

    set_ = {[1, ], [2, ]}
TypeError: unhashable type: 'list'

为什么报错?

重点:因为 set 集合只能包含不可变对象元素,而列表、集合本身都是可变对象,所以会报错

集合和列表的区别

列表中的元素允许重复,集合中的元素不允许重复
列表是有序的,提供了索引操作,集合是无序的,没有索引操作

set_ = {1, 1, 1, 1, 2}
set[1]

# 输出结果
    set[1]
TypeError: 'type' object is not subscriptable

提示该类型不能下标

特殊集合

如何创建一个空集合

set_ = {}
print(set_, type(set_))

# 输出结果
{} <class 'dict'>

不可以直接 { },这样默认是一个空字典哦

正确写法

set_ = set()
print(set_, type(set_))

# 输出结果
set() <class 'set'>

常见运算操作

运算符 |

合并多个集合

>>> {1, 2} | {3, 4}
{1, 2, 3, 4}
>>> {1, 2} | {3, 4} | {5, 6}
{1, 2, 3, 4, 5, 6}

运算符 -

从集合中删除元素

>>> {1, 2, 3, 4} - {3, 4, 5, 6}
{1, 2}

运算符 &

取交集,返回两个集合都包含的元素

>>> {1, 2, 3} & {3, 4, 5}
{3}

运算符 ^

取差集

>>> {1, 2, 3} ^ {3, 4, 5}
{1, 2, 4, 5}

关键字 in

检查集合中是否包含指定元素

>>> 'polo' in {'www', 'polo', 'com'}
True
>>> 'yy' in {'www', 'yyy', 'com'}
False

常见函数

len(set)

获取集合的长度

>>> len({1, 2, 3})
3
>>> len({1, 2, 3, 4})
4

max(set)

获取集合中最大的元素

>>> max({1, 2})
2
>>> max({1, 3, 2})
3

min(set)

获取集合中最小的元素

>>> min({1, 2})
1
>>> min({1, 3, 2})
1

集合常见方法

add(item)

向集合中新增一个元素 item

# add
set_ = {1, 2, 3}
set_.add(1)
set_.add(4)
set_.add("5")
print(set_)

# 输出结果

{1, 2, 3, 4, '5'}

remove(item)

从集合中删除指定元素 item

# remove
set_ = {1, 2, 3}
set_.remove(2)
print(set_)

# 输出结果
{1, 3}

clear()

移除集合中的所有元素

# remove
set_ = {1, 2, 3}
print(set_)
set_.clear()
print(set_)

# 输出结果
{1, 2, 3}
set()

pop()

移除集合首位元素,并返回该元素值

# pop
a = {1, 2, 3, 4}
print(a.pop())
print(a.pop())
print(a)

# 输出结果
1
2
{3, 4}

difference()

从源集合中找出目标集合中没有的元素集合

# difference
a = {1, 2, 3, 4}
b = {2, 3, 5}
print(a.difference(b))

# 输出结果
{1, 4}

union()

返回两个集合的并集

# union
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2))

# 输出结果
{1, 2, 3, 4, 5}

intersection()

返回两个集合的交集

# intersection
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.intersection(set2))

# 输出结果
{3}

issubset()

判断指定集合是否为子集

# issubset
set1 = {1, 2}
set2 = {1, 2, 3}
print(set1.issubset(set2))

# 输出结果
True

issuperset()

判断指定集合是否为超集

# issuperset
set1 = {1, 2, 3}
set2 = {1, 2}
print(set1.issuperset(set2))

# 输出结果
True

集合总结

因为集合是不可重复的,所以可以利用它来处理一些需要避免重复插入的场景,比如为了避免某一学生的信息重复录入

以上就是Python中基础数据类型 set集合知识点总结的详细内容,更多关于Python基础数据类型 set 集合的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python中内置数据类型list,tuple,dict,set的区别和用法

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然

  • Python数据类型之Set集合实例详解

    本文实例讲述了Python数据类型之Set集合.分享给大家供大家参考,具体如下: set集合 1.概述 set与dict类似,但set是一组key的集合,与dict的区别在于set不存储value. 本质:无序且无重复元素的集合(具有自动去重的功能). 2.set的创建 语法: set1 = set([1, 2, 3, 4, 5]) 注意:创建set需要一个list或者tuple或者dist作为输入集合,重复的元素在set中会被自动的过滤 s1 = set([1, 2, 3, 4, 5]) pr

  • Python中基础数据类型 set集合知识点总结

    集合的简介 集合是一个无序.不重复的序列 它的基本用法包括成员检测和消除重复元素 集合对象也支持像 联合,交集,差集,对称差分等数学运算 集合中所有的元素放在 {} 中间,并用逗号分开 集合的例子 这里会有个重点知识 # 声明 basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} print(basket) set_ = {1, 1, 1, 1, 2} print(set_) # 输出结果 {'orange', 'pe

  • 详解python中的数据类型和控制流

    上一篇文章中我们介绍了 python 语言的几个特点,并在最后留了一个问题,python 除了上下执行以外有没有其他的执行方式. 今天我们就来介绍 python 中的数据类型和控制流. 数据类型 python 中包含六个标准数据类型分别为: Number(数字).String(字符串).List(列表).Tuple(元组).Set(集合).Dictionary(字典). 不同的数据类型往往对应不同的用途.这个很好理解.比如你可以用一个字符串用来储存一个人的名字. name = "六小登登&quo

  • python中关于数据类型的学习笔记

    数据类型是每种编程语言必备属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型: 1. 数字类型 Python数字类型主要包括int(整型).long(长整型)和float(浮点型),但是在Python3中就不再有long类型了. int(整型) 在32位机器上,整数的位数是32位,取值范围是-231~231-1,即-2147483648~214748364:在

  • python中subprocess实例用法及知识点详解

    1.subprocess这个模块来产生子进程,并且可以连接到子进程的标准输入.输出.错误中,还可以获得子进程的返回值. 2.subprocess提供了2种方法调用子程序. 实例 # coding:utf-8 import os # popen返回文件对象,同open操作一样 f = os.popen(r"ls", "r") l = f.read() print(l) f.close() Python subprocess知识点扩充 使用subprocess模块的目的

  • 归纳整理Python中的控制流语句的知识点

    程序流 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句.例如,清单 1 展示了几个简单的语句.当把它们键入 Python 解释器中(或者将它们保存在一个文件中,并作为一个 Python 程序来执行)时,读取语句的顺序是从左到右. 当读到一个行结束符(比如换行符)时,Python 解释器就前进到下一行并继续,直到没有了代码行. 清单 1. 一个简单的 Python 程序 >>> i = 1 >>> type(i)

  • 浅谈Python中的数据类型

    数据类型: float - 浮点数可以精确到小数点后面15位 int - 整型可以无限大 bool - 非零为true,零为false list - 列表 Float/Int: 运算符: / - 浮点运算除  // - 当结果为正数时,取整; 11//5 =2; 11//4 = 2 当结果为负数时,向下取整:-11//5=-3; -11//4=-3 当分子分母都是float,结果为float型 ** -  计算幂; 11**2 =121 % - 取余 其他数学运算: 1.分数: import f

  • Python中基础的socket编程实战攻略

    在网络通信中socket几乎无处不在,它可以看成是应用层与TCP/IP协议簇通信的中间软件抽象层,是两个应用程序彼此进行通信的接口,并且把复杂的TCP/IP协议细节隐藏在接口之后.Python提供了socket模块,可以非常方便的进行socket编程. 创建一个server socket 使用socket方法创建一个新的socket,通常提供两个参数,第一个参数是address family, 第二个是socket type. #create an INET, STREAMing socket

  • 简单介绍Python中的几种数据类型

    大体上把Python中的数据类型分为如下几类: Number(数字) 包括int,long,float,complex String(字符串) 例如:hello,"hello",hello List(列表) 例如:[1,2,3],[1,2,3,[1,2,3],4] Dictionary(字典) 例如:{1:"nihao",2:"hello"} Tuple(元组) 例如:(1,2,3,abc) Bool(布尔) 包括True.False 由于Pyt

  • Python中的变量和数据类型详情

    python是一门弱数据类型的语言,变量不需要声明即可使用,向变量赋值即定义变量,赋予的值的类型就是变量的类型,但变量也是有数据类型的,字符串'1'如果想参与数据计算,则需要使用int()函数来进行转换,使用type()函数可以查看变量的数据类型. 变量保存的是数据的内存地址的引用,python中变量分为不可修改变量和可修改变量,不可修改变量有int,float,str字符串,tuple元组等,可修改变量有list列表,dict字典,set集合等.当向函数中传递参数时,python一律传递值的引

  • Python中的基本数据类型讲解

    一.数据类型分类 1.按存值个数区分 单个值:数字,字符串 多个值(容器):列表,元组,字典,集合 2.按可变不可变区分 可变:列表[],字典{},集合{} 不可变:数字,字符串,元组().bool,None 3.有序无序区分 有序(可按索引取值):字符串,列表,元组 无序:字典,集合 二.整型(int) age = 18 # age=int(18) print(id(age))#<code>4530100848</code> print(type(age))#<class

随机推荐