day9-Python-元组和集合
创始人
2025-05-31 02:40:31
0

Python-元组和集合

一.元组

1.什么是元组(tuple)

"""
1)元组是容器型数据类型;将()作为容器的标志,里面多个元素有逗号隔开:(数据1, 数据2, ...)
2)元组是不可变的(不支持增删改),元组是有序的(顺序影响结果;支持下标操作)
3)任何类型的数据都可以作为元组中的元素
"""
1)空元组
t1 = ()
print(t1, type(t1))  # () 
2)只有一个元素的元组 - 必须在唯一的元素后加逗号:(元素,)
t2 = (100)
print(t2, type(t2))  # 100 
t2 = (100,)
print(t2, type(t2), len(t2))  # (100,)  1
3)正常的元组
t3 = (10, 20, 'abc', 30)
print(t3)
4)在没有歧义的情况下,元组的()可以省略 - 直接将多个数据用逗号隔开,也是一个元组
t4 = 100, 200, 300, 400
print(t4)
使用元组的实际情况:一般不会主动使用元组保存多个数据,但是遇到元组的时候必须会使用它

2.元组的使用

1)元组是不可变的列表 - 列表相关操作和应用中,除了可变相关内容,其他元组都支持
a.获取元素 - 列表怎么获取元素,元组就可以怎么获取
t5 = ('狂飙', '黑暗荣耀', '回家的诱惑', '三国演义', '琅琊榜', '甄嬛传')
print(t5[0], t5[-1])  # 狂飙 甄嬛传
print(t5[1:-1])  # ('黑暗荣耀', '回家的诱惑', '三国演义', '琅琊榜')
print(t5[0::2])  # ('狂飙', '回家的诱惑', '琅琊榜')for x in t5:print(x)for index in range(len(t5)):print(index, t5[index])for index, item in enumerate(t5):print(index, item)
b.加、乘、比较大小、in和 not in
t1 = (10, 20, 30)
t2 = (100, 200)
print(t1 + t2)      # (10, 20, 30, 100, 200)print(t1 * 2)       # (10, 20, 30, 10, 20, 30)print(t1 > t2)      # Falseprint(10 in t1)     # True
c.相关函数:sum、max、min、sorted、len、tuple
d.相关方法:元组.count(元素)、元组.index(元素)

3.获取元组和列表元素的另外一种方式(了解)

1)让变量的个数和列表或者元组中元素的个数保持一致,来依次获取列表或者元组中的元素
list1 = [100, 200, 300]
x, y, z = list1
print(x, y, z)  # 100 200 300
t1 = (10, 20)
m, n = t1
print(m, n)  # 10 20
#  [(0, 100), (1, 200), (2, 300)]
# x = (0, 100)
# x = (1, 200)
# index, item = (0, 100)
for index, item in enumerate(list1):print(index, item)
print(list(enumerate(list1)))  # [(0, 100), (1, 200), (2, 300)]
list2 = [('小花', 18, '女'), ('小明', 20, '男'), ('张三', 30, '男')]
for name, age, gender in list2:print(name, age, gender)

二.集合

1.什么是集合(set)

"""
1)集合是容器型数据类型;将{}作为容器的标志里面多个数据用逗号隔开:{数据1, 数据2, ...}
2)集合是可变的(支持增删改);集合是无序的
3)集合对元素的要求和字典对键的要求一样:不可变类型的数据、是唯一的
"""
1)空集合
s1 = {}
print(s1, type(s1))  # {} s1 = set()
print(s1, type(s1), len(s1))  # set()  0
2)集合是无序的
print({10, 20, 30} == {20, 10, 30})  # True
3)集合的元素必须是不可变类型的数据
# s2 = {'abc', 10, 12,12.3, [10, 20]}  # 报错 TypeError
s2 = {'abc', 10, 12, 12.3, (10, 20)}
4)集合的元素是唯一的
s2 = {10, 20, 30, 10, 10, 20}
print(s2)  # {10, 20, 30}
# 应用:去重
names = ['张三', '李四', '王五', '小明', '张三', '王五']
print(set(names))  # {'小明', '王五', '李四', '张三'}

2.数学集合运算:交集、并集、差集、对称差集、子集和真子集

s1 = {1, 2, 3, 4, 5, 6, 7}
s2 = {5, 6, 7, 8, 9, 10}
1)交集 - 求两个集合的公共部分
集合1 & 集合2
print(s1 & s2)  # {5, 6, 7}
2)并集 - 将两个集合合并成一个集合
集合1 | 集合2
print(s1 | s2)  # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
3)差集 - 去掉一个集合中包含另一个集合的部分,剩下的部分
集合1 - 集合2
print(s1 - s2)  # {1, 2, 3, 4}
print(s2 - s1)  # {8, 9, 10}
4)对称差集 - 去掉两个公共部分后剩下的部分
集合1 ^ 集合2
print(s1 ^ s2)  # {1, 2, 3, 4, 8, 9, 10}
5)子集、真子集
'''
a.子集:
集合1 >= 集合2  -  判断集合2是否是集合1的子集
集合1 <= 集合2  -  判断集合1是否是集合2的子集b.真子集:
集合1 > 集合2  -  判断集合2是否是集合1的真子集
集合1 < 集合2  -  判断集合1是否是集合2的真子集
'''
# {1, 2, 3}的子集:{}、{1}、{2}、{3}、{1, 2}、{1, 3}、{2, 3}、{1, 2, 3}
# {1, 2, 3}的真子集:{}、{1}、{2}、{3}、{1, 2}、{1, 3}、{2, 3}
print({1} < {1, 2, 3})  # True
注意:这儿的比较运算符不是比较大小
print({100, 200, 300, 400} > {1, 2})  # False

相关内容

热门资讯

最新或2023(历届)上海中学... 上海高校最新或2023(历届)-最新或2023(历届)学年第二学期如何安排,又何时放暑假?统计发现,...
最新或2023(历届)天津中学... 根据《最新或2023(历届)-最新或2023(历届)天津中小学校历》,最新或2023(历届)~最新或...
国庆节活动方案策划书,资料大全...   活动内容及要求:  ★(一)、举办以“祖国,我爱你”为主题的黑板报比赛。  请各年级各班根据活动...
社区国庆节活动方案,资料大全 ...   一、 活动宗旨:  以“感恩伟大祖国,营造尊老氛围,建设和谐社区”为主题,在社区内营造文明、和谐...
最新或2023(历届)重庆中学... 小学七月六日起放暑假  中学七月十一日起放暑假  另,九年级中考后放假,高三年级高考后放假。  参考...
HBuilderX 安装教程 💌 所属专栏:【软件安装教程】 😀 作  者&#x...
大商场国庆节活动策划,资料大全...   一、 活动目的:  为抓住国庆7天大假的有利时机,以有力度的促销活动来带动客流量,扩大富成百货的...
超市国庆活动方案,资料大全 超...   一、活动目的:  中秋节、中国传统三大节日之一,国庆节、国定的长假。本次活动为“中秋篇”与“国庆...
最新或2023(历届)小学国庆...   庆国庆61周年活动方案一、指导思想时值中华人民共和国61华诞之际,为进一步激发学校师生爱国之情、...
最新社区国庆节活动方案,资料大...   一. 活动目的:为了丰富 XX 社区文化生活,与全体住户共庆 国庆佳节,让居民观赏精彩节目,XX...
小学国庆节活动方案资料大全 国...   一、活动目的:  以建国60周年国庆节为契机,结合改革开放30周年,以少先队活动为主要载体,以小...
python基于XGBoost... 在船舶航行状态评估、船舶碰撞概率检测等场景种有着对海面船舶航行轨迹较高的预测需求,准确...
2023深度解析数据治理平台建... 前言  阿里巴巴一直将数据作为自己的核心资产与能力之一,通过多年的实践探索建设数据应用...
最新或2023(历届)小学国庆...   最新或2023(历届)小学国庆节活动方案策划书一:  一、活动目的:  为隆重、热烈、活泼的庆祝...
超市国庆如何做促销,超市国庆节...   第一部分:各店促销活动内容:  一、百货区买200送200  超市区好礼大赠送感恩2+1卡免费办...
最新或2023(历届)国庆节超...   现场散发本超市十一活动的清单,印制彩页,彩页上附抵用券,超市知识有奖问答 。  (五)慢骑比赛 ...
小学最新或2023(历届)国庆...   小学最新或2023(历届)国庆庆祝活动方案  活动目的:通过本次庆祝活动,培养中兴小学少先队员民...
商场国庆节活动方案,资料大全 ...   XX年9月23日——XX年10月8日7号就结束了国庆长假,而中秋送礼,吃团圆饭更是在6号之前的事...
怎样进行Redis客户端的设置... 安装完成Redis,我们就可以操作Redis,实现数据的CRUD了。这需...
AIOT处理平台RK3568开... Rockchip RK3568 处理器是一款高性能、低功耗的四核应用处理器芯片,专为个...