1.5、Python数据结构——集合、推导式
2022/1/16 12:33:42
本文主要是介绍1.5、Python数据结构——集合、推导式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
1、集合
1.1、定义集合
1.2、在集合中添加元素,add()
1.3、删除集合中的元素,remove()
1.4、集合操作
2、推导式
2.1、列表推导式
2.2、字典推导式
2.3、集合推导式
1、集合
Python中有一种内置类型叫做集合(Set),它是一种非常有用的数据结构,它与列表(List)的行为类似,唯一区别在于集合不会包含重复的值。
1.1、定义集合
empty=set() #定义空集合,空集合不能使用{}定义 number={1,2,3} mix=set([1,"你好",321,"hello"]) print("空集合",empty) print("数字集合",number) print("混合集合",mix) #执行结果 空集合 set() 数字集合 {1, 2, 3} 混合集合 {321, 1, 'hello', '你好'}
注意:
如果是空集合(不包含任何元素的集合),必须使用set()定义;
如果包含元素,则可以使用花括号“{}”定义集合,也可以使用set加上列表来定义。
1.2、在集合中添加元素,add()
number={1,2,3,4} print(number) number.add(5) print(number) number.add("hello") print(number) number.add(5) #与集合中已有元素重复,无法添加 print(number) #执行结果 {1, 2, 3, 4} {1, 2, 3, 4, 5} {1, 2, 3, 4, 5, 'hello'} {1, 2, 3, 4, 5, 'hello'} #第二个5没有添加进来
add方法在添加新元素时,如果新的元素与原来的元素没有重复,则可以正常添加进集合,如果新的元素与原集合中的元素相同,则不会添加新的元素。这样保证了集合元素的唯一性。
1.3、删除集合中的元素,remove()
number={1,2,3,4,5} print(number) number.remove(3) print(number) number.remove(4) print(number) #执行结果 {1, 2, 3, 4, 5} {1, 2, 4, 5} {1, 2, 5}
注意:remove方法不能用于不存在的元素,如果元素不存在,Python解释器将会输出错误信息。
1.4、集合操作
Python中的集合可以看成是数学意义上的无序和无重复元素的集合,并且Python自带的集合类型支持很多数学意义上的集合操作,例如:
n1={1,3,5,7} n2={2,5,1,6,8} print("n1",n1) print("n2",n2) print("交集",n1 & n2) print("并集",n1 | n2) print("差集",n1 - n2) print("对称差集",n1 ^ n2) #执行结果 n1 {1, 3, 5, 7} n2 {1, 2, 5, 6, 8} 交集 {1, 5} 并集 {1, 2, 3, 5, 6, 7, 8} 差集 {3, 7} 对称差集 {2, 3, 6, 7, 8} # 两个集合中所有不相同的元素
2、推导式
Python支持三种推导式(或者称解析式),分别对应列表、字典和集合。它能够以非常自然、简单的方式构建列表、字典或集合,就像数学家做的那样。
2.1、列表推导式
列表推导式的语法:用中括号括起来,中间使用for语句,后面跟着if语句用作判断,满足条件的传到for语句前面用作构建的列表。
a1=[x for x in range(5)] print(a1) odd=[x for x in range(10) if x%2 !=0] print(odd) #执行结果 [0, 1, 2, 3, 4] [1, 3, 5, 7, 9]
列表推导式最擅长的方式就是对整个列表分别做相同的操作,并且返回得到一个新的列表。
2.2、字典推导式
字典推导式和列表推导式类似,字典的元素是成对出现的,所以推导式定义的时候也是成对生成键值对。例如:
d1={n:n**2 for n in range(5)} print(d1) d2={v:k for k,v in d1.items()} print(d2) #执行结果 {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} {0: 0, 1: 1, 4: 2, 9: 3, 16: 4}
2.3、集合推导式
集合推导式基本上和列表推导式没什么区别,但是集合推导式会帮我们去除重复的元素,并且不适用中括号,而是使用花括号。例如:
s1={i**2 for i in [-5,-2,-1,1,2,3,]} print(s1) #执行结果 {25, 4, 1, 9}
这篇关于1.5、Python数据结构——集合、推导式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础