閑人壹のPython笔记.2021.08.05 · 元组

2023-11-24 13:20
文章标签 python 笔记 05 元组 2021.08

本文主要是介绍閑人壹のPython笔记.2021.08.05 · 元组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

閑人壹のPython笔记.2021.08.05 · 元组

    • 元组(tuple)
      • 1.元组 的 创建和删除
      • 2.访问元组元素
      • 3.修改元组元素
      • 4.元组推导式

元组(tuple)

元组 是 Python 的另一个重要的序列结构,即:不可表列表。元组的所有元素都放在一对小括号 “()” 内,之间用逗号 “,” 间隔,可以将整数、实数、字符串、列表、元组等任何类型的内容放在同一列表中,元素之间没有任何关系。

元组 与 列表 的区别:

在这里插入图片描述

1.元组 的 创建和删除

  1. 使用赋值运算符,与列表基本相同只是 “[ ]" 变成了 “( )”

    元组名 = (元素1,元素2,元素3,……,元素n)
    

    实例:

    yuan = (1,3,5,"瞒天过海","围魏救赵",'a',("明修栈道","暗渡陈仓"),'N',["借刀杀人","以逸待劳"])	# 创建元组
    lie = [1,3,5,"瞒天过海","围魏救赵",'a',("明修栈道","暗渡陈仓"),'N',["借刀杀人","以逸待劳"]] #创建列表
    print("元组1 的内容:",yuan)
    print("元组1 的类型:",type(yuan))	# 显示 yuan 数据类型
    print("列表1 的内容:",lie)
    print("列表1 的类型:",type(lie))		# 显示 lie 的数据类型输出结果:
    元组1 的内容: (1, 3, 5, '瞒天过海', '围魏救赵', 'a', ('明修栈道', '暗渡陈仓'), 'N', ['借刀杀人', '以逸待劳'])
    元组1 的类型: <class 'tuple'>
    列表1 的内容: [1, 3, 5, '瞒天过海', '围魏救赵', 'a', ('明修栈道', '暗渡陈仓'), 'N', ['借刀杀人', '以逸待劳']]
    列表1 的类型: <class 'list'>
    
  2. 创建空元组

    元组名 = ()
    
  3. 创建数值元组

    语法:

    元组名 = (data)
    

    参数说明:

    • data – 可转换为元组的数据,其类型可以是 range 对象、字符串、元组或者其他可迭代类型的数据。

    实例:

    创建一个 0 到 10 之间所有可整除 3 的数的元组:

    yuan = tuple(range(3,11,3))		# 通过 range() 创建数列,并用 tuple() 转化为元组
    print(yuan)输出结果:
    (3, 6, 9)
    

    函数说明:

    tuple() 函数将列表转换为元组。

    语法:

    tuple( iterable )
    

    参数说明:

    • iterable – 要转换为元组的可迭代序列。
  4. 删除元组 - del

    del 元组名
    

    此功能一般用不到,原因和删除列表一样,Python 有清理机制会自动清除无用的列表和元组。

2.访问元组元素

  1. 直接使用 print() ,实例如下:
yuan = (1,3,5,"瞒天过海","围魏救赵",'a',("明修栈道","暗渡陈仓"),'N',["借刀杀人","以逸待劳"])
print("元组1 的内容:",yuan)
print("元组1 的类型:",type(yuan))
print("显示元组前半段:",yuan[:4])		# 显示元组的索引4之前的元素
print("显示元组后半段:",yuan[5:])		# 显示元组的索引5之后的元素
print(yuan[0],"",type(yuan[0]))		 # 显示元组的第一个元素及数据类型
print(yuan[3],"",type(yuan[3]))
print(yuan[6],"",type(yuan[6]))
print(yuan[8],"",type(yuan[8]))
print(yuan[7],"",type(yuan[7]))输出结果:
元组1 的内容: (1, 3, 5, '瞒天过海', '围魏救赵', 'a', ('明修栈道', '暗渡陈仓'), 'N', ['借刀杀人', '以逸待劳'])
元组1 的类型: <class 'tuple'>
显示元组前半段: (1, 3, 5, '瞒天过海')
显示元组后半段: ('a', ('明修栈道', '暗渡陈仓'), 'N', ['借刀杀人', '以逸待劳'])
1  <class 'int'>
瞒天过海  <class 'str'>
('明修栈道', '暗渡陈仓')  <class 'tuple'>
['借刀杀人', '以逸待劳']  <class 'list'>
N  <class 'str'>
  1. 两种遍历方法,与遍历列表一样,实例如下:

    yuan = (1,3,5,"瞒天过海","围魏救赵",'a',("明修栈道","暗渡陈仓"),'N',["借刀杀人","以逸待劳"])
    print("元组1 的内容:",yuan)	# 遍历元组 yuan
    for i in yuan:print(i)
    print("元组1 的内容:",yuan)	# 遍历元组 yuan
    for x,y in enumerate(yuan):print(x+1,".",y)输出结果:
    元组1 的内容: (1, 3, 5, '瞒天过海', '围魏救赵', 'a', ('明修栈道', '暗渡陈仓'), 'N', ['借刀杀人', '以逸待劳'])
    1
    3
    5
    瞒天过海
    围魏救赵
    a
    ('明修栈道', '暗渡陈仓')
    N
    ['借刀杀人', '以逸待劳']
    元组1 的内容: (1, 3, 5, '瞒天过海', '围魏救赵', 'a', ('明修栈道', '暗渡陈仓'), 'N', ['借刀杀人', '以逸待劳'])
    1 . 1
    2 . 3
    3 . 5
    4 . 瞒天过海
    5 . 围魏救赵
    6 . a
    7 . ('明修栈道', '暗渡陈仓')
    8 . N
    9 . ['借刀杀人', '以逸待劳']
    

3.修改元组元素

元组是 不可变序列,对于元组元素的修改只能对整个元组重新赋值,或者添加元素,且在添加元素时只能添加一个元组,不能直接添加其他对象

  1. 实例1,将 yuan 中 “以逸待劳”,“趁火打劫” ,替换为 “明修栈道”,“暗渡陈仓”:

    yuan = ("瞒天过海","围魏救赵","借刀杀人","以逸待劳","趁火打劫")
    print("元组1 的内容:",yuan)
    yuan = ("瞒天过海","围魏救赵","借刀杀人","明修栈道","暗渡陈仓")  # 重新赋值 yuan,替换 "以逸待劳","趁火打劫"
    print("修改后元组1 的内容:",yuan)输出结果:
    元组1 的内容: ('瞒天过海', '围魏救赵', '借刀杀人', '以逸待劳', '趁火打劫')
    修改后元组1 的内容: ('瞒天过海', '围魏救赵', '借刀杀人', '明修栈道', '暗渡陈仓')
    
  2. 实例2,在 yuan 添加 “明修栈道”,“暗渡陈仓”:

    yuan = ("瞒天过海","围魏救赵","借刀杀人")
    print("元组1 的内容:",yuan)
    yuan = yuan + ("明修栈道","暗渡陈仓")  # 将 ("明修栈道","暗渡陈仓") 添加入 yuan
    print("修改后元组1 的内容:",yuan)输出结果:
    元组1 的内容: ('瞒天过海', '围魏救赵', '借刀杀人')
    修改后元组1 的内容: ('瞒天过海', '围魏救赵', '借刀杀人', '明修栈道', '暗渡陈仓')
    

4.元组推导式

元组推导式 作用 和 表现形式 与 列表推导式 一样,只是把 “[ ]” 变成了 “()”.

以列表推导式实例,生成一个包含 5 个数的随机数的元组,范围在 10 ~ 100 之间:

import random		# 导入生成随机数模块 random
yuan = (random.randint(10,100) for i in range(5)) # 按条件创建元组
print ("随机数元组:",yuan)输出结果:
随机数元组: <generator object <genexpr> at 0x00000252843FB430>
# 代码直接输出里一个生成器对象,需要使用 tuple() 函数进行转换才能正常显示出元组。补充代码:
print ("随机数列:",tuple(yuan))输出结果:
随机数列: <generator object <genexpr> at 0x000001E159A8B430>
随机数列: (16, 31, 27, 14, 32)使用 for 进行遍历,转换生成器对象:
yuan = (random.randint(10,100) for i in range(5)) # 按条件创建元组
for i in yuan:print(i,end=" ")	# 显示 yuan 中所有数值
print(tuple(yuan))		# 显示 元组 yuan输出结果:
95 16 62 19 25 ()
# 由于生成器对象中的数据被读取后就会清空,所有最后输出的元组 yuan 为空元组__next__() 方法,转换生成器对象:
yuan = (random.randint(10,100) for i in range(5)) # 按条件创建元组
print(yuan.__next__())
print(yuan.__next__())
print(yuan.__next__())
print(yuan.__next__())
print(yuan.__next__())
yuan = tuple(yuan)
print(yuan)输出结果:
66
72
47
15
21
()

next方法:返回迭代器的下一个元素

这篇关于閑人壹のPython笔记.2021.08.05 · 元组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/422010

相关文章

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息