元组的常用操作小结

元组的常用操作小结

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

  1. 创建元组
# 创建一个简单的元组
my_tuple = ('apple', 'banana', 'cherry')print(my_tuple)  # 输出:('apple', 'banana', 'cherry')
  1. 访问元组中的元素
# 使用索引访问元组中的元素
print(my_tuple[0])  # 输出:'apple'# 使用负索引访问元组的最后一个元素
print(my_tuple[-1])  # 输出:'cherry'
  1. 遍历元组中的元素
for fruit in my_tuple:print(fruit)
# 输出:
# apple
# banana
# cherry
  1. 元组的长度(length)
print(len(my_tuple))  # 输出:3
  1. 元组的复制(copying)
new_tuple = my_tuple.copy()
print(new_tuple)  # 输出:('apple', 'banana', 'cherry')
  1. 元组的连接(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')
  1. 元组的比较
t1 = ('apple', 'banana')
t2 = ('apple', 'banana')print(t1 == t2)  # 输出:True
  1. 元组的索引
my_tuple = ('apple', 'banana', 'cherry')# 使用整数索引
print(my_tuple[0])  # 输出:'apple'
print(my_tuple[-1])  # 输出:'cherry'# 使用负整数索引
print(my_tuple[-2])  # 输出:'banana'
  1. 元组的切片(slicing)
my_tuple = ('apple', 'banana', 'cherry', 'orange')# 从索引 0 到 2,获取元组中前三个元素
print(my_tuple[0:3])  # 输出:('apple', 'banana', 'cherry')# 从索引 1 到最后一个元素,获取元组中的第二个到最后一个元素
print(my_tuple[1:])  # 输出:('banana', 'cherry', 'orange')
  1. 元组的 membership 测试(membership testing)
my_tuple = ('apple', 'banana', 'cherry')# 使用 in 运算符测试某个值是否在元组中
print('apple' in my_tuple)  # 输出:True
print('grape' in my_tuple)  # 输出:False
  1. 元组的格式化输出(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
  1. 元组的转换(conversion)到列表
my_tuple = ('apple', 'banana', 'cherry')
my_list = list(my_tuple)
print(my_list)  # 输出:['apple', 'banana', 'cherry']
  1. 元组的转换(conversion)到字典
my_tuple = (('apple', 1), ('banana', 2), ('cherry', 3))
my_dict = dict(my_tuple)
print(my_dict)  # 输出:{'apple': 1, 'banana': 2, 'cherry': 3}
  1. 元组的转换(conversion)到集合
my_tuple = ('apple', 'banana', 'cherry')
my_set = set(my_tuple)
print(my_set)  # 输出:{'apple', 'banana', 'cherry'}
  1. 元组的转换(conversion)到集合视图
my_tuple = ('apple', 'banana', 'cherry')
my_view = frozenset(my_tuple)
print(my_view)  # 输出:frozenset({'apple', 'banana', 'cherry'})

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

  1. 元组的迭代(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}")
  1. 元组的过滤(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',)
  1. 元组的映射(mapping)
my_tuple  = ('apple', 'banana', 'cherry')# 使用 map 函数将元组中的元素转换为大写
mapped_tuple  = tuple(map(lambda x: x.upper(), my_tuple))
print(mapped_tuple)   # 输出:('APPLE', 'BANANA', 'CHERRY')
  1. 元组的排序(sorting)
my_tuple  = ('banana', 'apple', 'cherry')# 使用 sorted 函数对元组中的元素进行排序
sorted_tuple  = tuple(sorted(my_tuple))
print(sorted_tuple)   # 输出:('apple', 'banana', 'cherry')
  1. 元组的搜索(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}")
  1. 元组的合并(concatenation)
my_ tuple1 = ('apple', 'banana')
my_ tuple2 = ('cherry', 'orange')# 使用 + �算符将两个元组合并
combined_tuple = my_ tuple1 + my_ tuple2
print(combined_tuple)  # 输出:('apple', 'banana', 'cherry', 'orange')
  1. 元组的重复(repeating)
my_ tuple = ('apple',)# 使用 * 运算符将元组中的元素重复
repeated_tuple = my_ tuple * 3
print(repeated_tuple)  # 输出:('apple', 'apple', 'apple')
  1. 元组的交集(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'}
  1. 元组的差集(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'}
  1. 元组的成员测试(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!")
  1. 元组的转换(conversion)到字典视图
my_ tuple = [('apple', 1), ('banana', 2), ('cherry', 3)]# 使用 dict 函数将元组转换为字典视图
dict_view = dict(my_ tuple)
print(dict_view)   # 输出:{'apple': 1, 'banana': 2, 'cherry': 3}
  1. 元组的转换(conversion)到集合视图
my_ tuple = ('apple', 'banana', 'cherry')# 使用 set 函数将元组转换为集合视图
set_view = set(my_ tuple)
print(set_view)   # 输出:{'apple', 'banana', 'cherry'}
  1. 元组的转换(conversion)到列表视图
my_ tuple = ('apple', 'banana', 'cherry')# 使用 list 函数将元组转换为列表视图
list_view = list(my_ tuple)
print(list_view)   # 输出:['apple', 'banana', 'cherry']
  1. 元组的排序(sorting)
my_ tuple = ('apple', 'banana', 'cherry')# 使用 sorted 函数对元组进行排序
sorted_tuple = sorted(my_ tuple)
print(sorted_tuple)   # 输出:['apple', 'banana', 'cherry']
  1. 元组的反转(reversal)
my_ tuple = ('apple', 'banana', 'cherry')# 使用 reversed 函数对元组进行反转
reversed_tuple = reversed(my_ tuple)
print(list(reversed_tuple))   # 输出:['cherry', 'banana', 'apple']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/21341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPG简介

简介 The GNU Privacy Guard GnuPG 是 RFC4880 定义的 OpenPGP 标准(也称为 PGP)的完整且免费的实现。GnuPG 允许您加密和签署您的数据和通信;它具有多功能的密钥管理系统,以及用于各种公钥目录的访问模块。GnuPG,也称为 GPG&…

Vitis HLS 学习笔记--HLS流水线类型

目录 1. 简介 2. 优缺点对比 2.1 Stalled Pipeline 2.2 Free-Running/Flushable Pipeline 2.3 Flushable Pipeline 3. 设置方法 4. FRP的特殊优势 5. 总结 1. 简介 Vitis HLS 会自动选择正确的流水线样式,用于流水打拍函数或循环。 停滞的流水线&#xff…

K8S SWCK SkyWalking全链路跟踪工具安装

官方参考:如何使用java探针注入器? 配置两个demo,建立调用关系, 首先创建一个基础镜像dockerfile from centos 先安装java 参考: linux rpm方式安装java JAVA_HOME/usr/java/jdk1.8.0-x64 CLASSPATH.:$JAVA_HOME/lib/tools.jar PATH…

了解Maven,并配置国内源

目录 1.了解Maven 1.1什么是Maven 1.2快速创建一个Maven项⽬ 1.3Maven 核⼼功能 1.3.1项⽬构建 1.3.2依赖管理 1.4Maven Help插件 2.Maven 仓库 2.1中央仓库 2.2本地仓库 3.Maven 设置国内源 1.查看配置⽂件的地址 2.配置国内源 3.设置新项⽬的setting 1.了解Ma…

Hive安装-内嵌模式

1.官网下在hive3.1.2版本 Index of /dist/hive/hive-3.1.2 2.上传到master节点的/opt/software目录下 3.解压到/opt/module目录下 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/ 检查解压后文件 4.修改名字 改为hive cd /opt/module mv apache-hive-3.1.2-bin…

期权的时间价值是什么?和期权内在价值有啥不同?

今天带你了解期权的时间价值是什么?和期权内在价值有啥不同?期权的内在价值,是指期权立即执行产生的经济价值。 期权的时间价值是什么? 期权的时间价值是期权价格的一个重要组成部分,也被称为期权的外在价值。它是指期…

【再探】设计模式—备忘录模式与解释器模式

备忘录模式是用于保存对象在某个时刻的状态,来实现撤销操作。而解释器模式则是将文本按照定义的文法规则解析成对应的命令。 1 备忘录模式 需求:保存对象在某个时刻的状态,后面可以对该对象实行撤销操作。 1.1 备忘录模式介绍 提供一种状…

RK3568笔记二十九:RTMP推流

若该文为原创文章,转载请注明原文出处。 基于RK3568的RTMP推流测试,此代码是基于勇哥的github代码修改的,源码地址MontaukLaw/3568_rknn_rtmp: rk3568的推理推流 (github.com) 感兴趣的可以clone下来测试。 也可以下载修改后的代码测试。Y…

【面试宝藏】Go并发编程面试题

深入Go语言并发编程 Go语言以其简洁、高效的并发处理能力而闻名。在Go中,通过各种同步机制和原子操作,可以轻松地实现高性能并发编程。本文将深入探讨Go语言中的并发编程,包括Mutex、RWMutex、Cond、WaitGroup、原子操作等内容。 1. Mutex几…

普华永道信任危机:上市公司解约风波与反思

在全球会计业界的星空中,普华永道无疑是那颗最为耀眼的星之一。然而,近日这颗星却遭遇了前所未有的信任危机。这家大名鼎鼎的四大会计师事务所之一,近期陷入了上市公司解约的风波之中,其声誉与地位正面临严峻挑战。 就在昨晚&…

没有WebSecurityConfigurerAdapter的Spring Security

没有WebSecurityConfigurerAdapter的Spring Security 最近一直在从springboot2.x向3.x学习迁移,付出了很大的学习成本,心得会不断分享。对于spring security来说,是该和WebSecurityConfigurerAdapter说再见了,因为在Spring Secur…

Vivado的两种下载安装方式:Webpack下载与安装、本地文件安装详细步骤讲解

目录 1.前言2. Vivado Webpack下载、安装3.本地文件下载安装 微信公众号获取更多FPGA相关源码: 1.前言 本人自本科大二开始接触FPGA相关知识,现已将近六年,由于一直在上学,也不是一直在搞FPGA,但是也完成过一些项目…

【学习】企业如何选择一个合适的DCMM咨询机构

DCMM是我国首个数据管理领域正式发布的国家标准。旨在帮助企业利用先进的数据管理理念和方法,建立和评价自身数据管理能力,持续完善数据管理组织、程序和制度,充分发挥数据在促进企业向信息化、数字化、智能化发展方面的价值。该标准借鉴了国…

数据仓库核心:维度表设计的艺术与实践

文章目录 1. 引言1.1基本概念1.2 维度表定义 2. 设计方法2.1 选择或新建维度2.2 确定维度主维表2.3 确定相关维表2.14 确定维度属性 3. 维度的层次结构3.1 举个例子3.2 什么是数据钻取?3.3 常见的维度层次结构 4. 高级维度策略4.1 维度整合维度整合:构建…

IDEA 学习之 疑难杂症系列

IDEA 学习之 疑难杂症系列 1. Mapstruct 编译空指针问题 1.1. 现象 NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifest1.2. 原因 MapStruct 在 IDEA 2020.3 版本编译 NPE 问题 1.3. 解决办法 2. IDEA 学习之 编译内…

python列表的进阶

小结: # 列表的删除小结: # 删除列表的最后一列 punished students.pop() print(被罚站的人是: punished ,同学们引以为戒。)# 根据下标删除 del students[0]#根据名称删除 students.remove(王熙凤)在今天的课程里&#xff0c…

绿联 安装SeaTable在线协同表格

绿联 安装SeaTable在线协同表格 1、镜像 seatable/seatable-developer:latest 2、安装 2.1、基础设置 重启策略:容器退出时总是重启容器。 2.2、网络 网络选择桥接(bridge)。 2.3、存储空间 装载路径/shared不可变更。 2.4、端口设置 容器端口固定80&#x…

Unity动画系统介绍

Unity动画系统介绍 Animator组件: 这是Unity中用于控制动画状态的组件,它与Animator Controller一起工作,可以基于游戏逻辑来切换不同的动画状态。 Animator Controller: 这是一个用于管理动画状态机的组件,它允许…

Leetcode:回文数

题目链接&#xff1a;9. 回文数 - 力扣&#xff08;LeetCode&#xff09; 普通版本&#xff08;字符串双指针&#xff09; 1、x为负数时永远不可能为回文数 2、x为个位数时不可能是回文数 class Solution { public:bool isPalindrome(int x) {if(x<0||(x%100 &&…

服务器硬件的基础知识

服务器硬件的基础知识 服务器硬件是服务器计算机的物理组件&#xff0c;用于存储、处理和管理数据。以下是服务器硬件的基础知识介绍。 1. 处理器&#xff08;CPU&#xff09; 概述 处理器是服务器的核心组件&#xff0c;负责执行计算和处理任务。常见品牌有 Intel 和 AMD。…