元组的常用操作小结

简介: 元组的常用操作小结

元组的常用操作小结
元组(Tuple)是一种不可变的容器,可以存储多个值。下面是元组的常用操作和示例:

1.创建元组

# 创建一个简单的元组
my_tuple = ('apple', 'banana', 'cherry')
print(my_tuple)  # 输出:('apple', 'banana', 'cherry')

2.访问元组中的元素

# 使用索引访问元组中的元素
print(my_tuple[0])  # 输出:'apple'

# 使用负索引访问元组的最后一个元素
print(my_tuple[-1])  # 输出:'cherry'

3.遍历元组中的元素

for fruit in my_tuple:
    print(fruit)
# 输出:
# apple
# banana
# cherry

4.元组的长度(length)

print(len(my_tuple))  # 输出:3

5.元组的复制(copying)

new_tuple = my_tuple.copy()
print(new_tuple)  # 输出:('apple', 'banana', 'cherry')

6.元组的连接(concatenation)

# 使用 + 运算符连接元组
new_tuple = my_tuple + ('orange',)

print(new_tuple)  # 输出:('apple', 'banana', 'cherry', 'orange')

# 使用 tuple() 函数连接元组
new_tuple = tuple(list(my_tuple) + ['orange'])

print(new_tuple)  # 输出:('apple', 'banana', 'cherry', 'orange')

7.元组的比较

t1 = ('apple', 'banana')
t2 = ('apple', 'banana')

print(t1 == t2)  # 输出:True

8.元组的索引

my_tuple = ('apple', 'banana', 'cherry')

# 使用整数索引
print(my_tuple[0])  # 输出:'apple'
print(my_tuple[-1])  # 输出:'cherry'

# 使用负整数索引
print(my_tuple[-2])  # 输出:'banana'

9.元组的切片(slicing)

my_tuple = ('apple', 'banana', 'cherry', 'orange')

# 从索引 02,获取元组中前三个元素
print(my_tuple[0:3])  # 输出:('apple', 'banana', 'cherry')

# 从索引 1 到最后一个元素,获取元组中的第二个到最后一个元素
print(my_tuple[1:])  # 输出:('banana', 'cherry', 'orange')

10.元组的 membership 测试(membership testing)

my_tuple = ('apple', 'banana', 'cherry')

# 使用 in 运算符测试某个值是否在元组中
print('apple' in my_tuple)  # 输出:True
print('grape' in my_tuple)  # 输出:False

11.元组的格式化输出(formatted output)

my_tuple = ('apple', 'banana', 'cherry')

# 使用 f-string 格式化输出元组中的元素
print(f"我的favorite fruits are {my_tuple[0]}, {my_tuple[1]} and {my_tuple[-1]}")
# 输出:我的favorite fruits are apple, banana and cherry

12.元组的转换(conversion)到列表

my_tuple = ('apple', 'banana', 'cherry')
my_list = list(my_tuple)
print(my_list)  # 输出:['apple', 'banana', 'cherry']

13.元组的转换(conversion)到字典

my_tuple = (('apple', 1), ('banana', 2), ('cherry', 3))
my_dict = dict(my_tuple)
print(my_dict)  # 输出:{
   'apple': 1, 'banana': 2, 'cherry': 3}

14.元组的转换(conversion)到集合

my_tuple = ('apple', 'banana', 'cherry')
my_set = set(my_tuple)
print(my_set)  # 输出:{
   'apple', 'banana', 'cherry'}

15.元组的转换(conversion)到集合视图

my_tuple = ('apple', 'banana', 'cherry')
my_view = frozenset(my_tuple)
print(my_view)  # 输出:frozenset({
   'apple', 'banana', 'cherry'})

注意:在 Python 中,元组是一种不可变的数据结构,而列表、字典和集合则是可变的数据结构。如果您需要修改元素,可以考虑使用列表或字典代替元组。

16.元组的迭代(iteration)

my_tuple  = ('apple', 'banana', 'cherry')

# 使用 for 循环迭代元组中的元素
for fruit in my_tuple:
    print(fruit)

# 使用 enumerate 函数迭代元组中的元素,并返回索引和值
for i, fruit in enumerate(my_tuple):
    print(f"{i}: {fruit}")

17.元组的过滤(filtering)

my_tuple  = ('apple', 'banana', 'cherry', 'orange')

# 使用 list comprehension 过滤元组中的元素
filtered_tuple  = tuple([fruit for fruit in my_tuple if fruit.startswith('a')])
print(filtered_tuple)   # 输出:('apple',)

# 使用 filter 函数过滤元组中的元素
filtered_tuple  = tuple(filter(lambda x: x.startswith('a'), my_tuple))
print(filtered_tuple)   # 输出:('apple',)

18.元组的映射(mapping)

my_tuple  = ('apple', 'banana', 'cherry')

# 使用 map 函数将元组中的元素转换为大写
mapped_tuple  = tuple(map(lambda x: x.upper(), my_tuple))
print(mapped_tuple)   # 输出:('APPLE', 'BANANA', 'CHERRY')

19.元组的排序(sorting)

my_tuple  = ('banana', 'apple', 'cherry')

# 使用 sorted 函数对元组中的元素进行排序
sorted_tuple  = tuple(sorted(my_tuple))
print(sorted_tuple)   # 输出:('apple', 'banana', 'cherry')

20.元组的搜索(searching)

my_tuple  = ('apple', 'banana', 'cherry')

# 使用 in 运算符搜索元组中的元素
if 'banana' in my_tuple:
    print("Found 'banana'!")
else:
    print("Not found!")

# 使用 index 函数搜索元组中的元素
index  = my_tuple.index('banana')
print(f"Index of 'banana': {index}")

21.元组的合并(concatenation)

my_ tuple1 = ('apple', 'banana')
my_ tuple2 = ('cherry', 'orange')

# 使用 + �算符将两个元组合并
combined_tuple = my_ tuple1 + my_ tuple2
print(combined_tuple)  # 输出:('apple', 'banana', 'cherry', 'orange')


22.元组的重复(repeating)

my_ tuple = ('apple',)

# 使用 * 运算符将元组中的元素重复
repeated_tuple = my_ tuple * 3
print(repeated_tuple)  # 输出:('apple', 'apple', 'apple')

23.元组的交集(intersection)和并集(union)

my_ tuple1 = ('apple', 'banana', 'cherry')
my_ tuple2 = ('banana', 'orange', 'grape')

# 使用 set.intersection 函数获取交集
intersection_tuple = set(my_ tuple1).intersection(set(my_ tuple2))
print(intersection_tuple)  # 输出:{
   'banana'}

# 使用 set.union 函数获取并集
union_tuple = set(my_ tuple1).union(set(my_ tuple2))
print(union_tuple)  # 输出:{
   'apple', 'banana', 'cherry', 'orange', 'grape'}

24.元组的差集(difference)

my_ tuple1 = ('apple', 'banana', 'cherry')
my_ tuple2 = ('banana', 'orange', 'grape')

# 使用 set.difference 函数获取差集
difference_tuple = set(my_ tuple1).difference(set(my_ tuple2))
print(difference_tuple)  # 输出:{
   'apple', 'cherry'}

25.元组的成员测试(membership testing)

my_ tuple = ('apple', 'banana', 'cherry')

# 使用 in 运算符测试元组中的元素是否存在
if 'banana' in my_ tuple:
    print("Found  'banana'!")
else:
    print("Not found!")

# 使用 not in 运算符测试元组中的元素是否不存在
if 'grape' not in my_ tuple:
    print("Grape is not found!")
else:
    print("Grape is found!")

26.元组的转换(conversion)到字典视图

my_ tuple = [('apple', 1), ('banana', 2), ('cherry', 3)]

# 使用 dict 函数将元组转换为字典视图
dict_view = dict(my_ tuple)
print(dict_view)   # 输出:{
   'apple': 1, 'banana': 2, 'cherry': 3}

27.元组的转换(conversion)到集合视图

my_ tuple = ('apple', 'banana', 'cherry')

# 使用 set 函数将元组转换为集合视图
set_view = set(my_ tuple)
print(set_view)   # 输出:{
   'apple', 'banana', 'cherry'}

28.元组的转换(conversion)到列表视图

my_ tuple = ('apple', 'banana', 'cherry')

# 使用 list 函数将元组转换为列表视图
list_view = list(my_ tuple)
print(list_view)   # 输出:['apple', 'banana', 'cherry']

29.元组的排序(sorting)

my_ tuple = ('apple', 'banana', 'cherry')

# 使用 sorted 函数对元组进行排序
sorted_tuple = sorted(my_ tuple)
print(sorted_tuple)   # 输出:['apple', 'banana', 'cherry']

30.元组的反转(reversal)

my_ tuple = ('apple', 'banana', 'cherry')

# 使用 reversed 函数对元组进行反转
reversed_tuple = reversed(my_ tuple)
print(list(reversed_tuple))   # 输出:['cherry', 'banana', 'apple']
相关文章
|
11天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
7天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2514 17
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
7天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1520 14
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
3天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
9天前
|
编解码 JSON 自然语言处理
通义千问重磅开源Qwen2.5,性能超越Llama
击败Meta,阿里Qwen2.5再登全球开源大模型王座
552 14
|
1月前
|
运维 Cloud Native Devops
一线实战:运维人少,我们从 0 到 1 实践 DevOps 和云原生
上海经证科技有限公司为有效推进软件项目管理和开发工作,选择了阿里云云效作为 DevOps 解决方案。通过云效,实现了从 0 开始,到现在近百个微服务、数百条流水线与应用交付的全面覆盖,有效支撑了敏捷开发流程。
19282 30
|
9天前
|
人工智能 自动驾驶 机器人
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界
过去22个月,AI发展速度超过任何历史时期,但我们依然还处于AGI变革的早期。生成式AI最大的想象力,绝不是在手机屏幕上做一两个新的超级app,而是接管数字世界,改变物理世界。
473 48
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界
|
1月前
|
人工智能 自然语言处理 搜索推荐
阿里云Elasticsearch AI搜索实践
本文介绍了阿里云 Elasticsearch 在AI 搜索方面的技术实践与探索。
18838 20
|
1月前
|
Rust Apache 对象存储
Apache Paimon V0.9最新进展
Apache Paimon V0.9 版本即将发布,此版本带来了多项新特性并解决了关键挑战。Paimon自2022年从Flink社区诞生以来迅速成长,已成为Apache顶级项目,并广泛应用于阿里集团内外的多家企业。
17528 13
Apache Paimon V0.9最新进展
|
2天前
|
云安全 存储 运维
叮咚!您有一份六大必做安全操作清单,请查收
云安全态势管理(CSPM)开启免费试用
362 4
叮咚!您有一份六大必做安全操作清单,请查收