首页 > 编程语言 >Python----Python基础(元组 tuple,元组的创建,基本操作:访问,连接,索引,计数,长度,最大值,最小值,求和,判断,排序)

Python----Python基础(元组 tuple,元组的创建,基本操作:访问,连接,索引,计数,长度,最大值,最小值,求和,判断,排序)

时间:2025-01-08 17:59:19浏览次数:3  
标签:tuple Python 元素 生成器 元组 print 基本操作 列表

一、元组tuple

  • 列表属于可变序列,可以任意修改列表中的元素。

  • 元组属于不可变序列,不能修改元组中的元素。

    因此,元组没有增加元素、修改元素、删除元素相关的方法。

二、元组的创建 

2.1、使用()方式创建元组

使用圆括号 () 可以创建一个元组,元素之间用逗号 , 分隔。

格式: 元组名 = (元素1, 元素2, 元素3, ... 元素N) 

# 创建一个包含多个元素的元组  
tuple1 = (1, 2, 3)  
print(tuple1)  # 输出: (1, 2, 3)

2.2、使用逗号创建元组

除了使用 () 外,还可以仅使用逗号 , 来创建元组。

格式:

        元组名 = 元素1, 元素2, 元素3, ... 元素N

        PS: python语言中无法给一个变量同时赋多个值,所以会将其值 打包成一个元组. 

# 使用逗号直接创建元组  
tuple2 = 4, 5, 6  
print(tuple2)  # 输出: (4, 5, 6)

2.3、创建单个元素的时候

python语言在创建元组的时候,如果元组里面只有一个值,这个时候就需要在 创建的时候添加 ','. 才能表示元组

# 创建单个元素的元组  
single_element_tuple = (7,)  # 注意逗号  
print(single_element_tuple)  # 输出: (7,)  

# 如果没有逗号,则不是元组  
not_a_tuple = (8)  # 没有逗号  
print(type(not_a_tuple))  # 输出: <class 'int'>

2.4、元组生成式

在 Python 中,没有直接的元组生成式的语法,但可以通过生成器表达式搭配 tuple() 函数来生成元组。这类似于列表生成式。

语法格式:

        元组名 =tuple (expression for x in expression) 

# 使用生成器生成元组  
tuple3 = tuple(x * 2 for x in range(5))  
print(tuple3)  # 输出: (0, 2, 4, 6, 8)

2.5、生成器推导式创建元组

  1. 从形式上看,生成器推导式与列表推导式类似,只是生成器推导式使用小括号。

  2. 列表推导式直接生成列表对象,生成器推导式生成的不是列表也不是元组,而是一个生成器对象。

  3. 我们可以通过生成器对象,转化成列表或者元组。也可以使用生成器对象的__next__()方法进行遍历,或者直接作为迭代器对象来使用。不管什么方式使用,元素访问结束后,如果需要重新访问其中的元素,必须重新创建该生成器对象。

#列表推导式: [0, 2, 4, 6, 8]
a = [x*2  for  x  in range(5)]
print(a)


s = (x*2 for x in range(5))
print(s)  # <generator object <genexpr> at 0x0000016CCC912A80>
b = tuple(s)
print(b)  #(0, 2, 4, 6, 8)
c = tuple(s)
print(c)  #()
s2 = (x for x in range(3))
print(s2.__next__())    #0
print(s2.__next__())    #1
print(s2.__next__())    #2
print(s2.__next__())    #报错:StopIteration

三、元组的基本操作

3.1、元组的访问

简介:

        python语言中对于元组来说也提供了两种访问的方式: 索引与切片

索引:

        格式: 元组名[索引值]

        ps: python语言中索引是支持负下标的

                从左到右: 下标是从 0 开始的

                从右到左: 下标是从-1 开始的

切片:

        元组的切片与列表的切片是一致的 tuple[初始位置: 终止位置: 步长]

3.1.1、 索引

tuple_example = (10, 20, 30, 40, 50)  
print(tuple_example[0])   # 输出: 10  
print(tuple_example[-1])  # 输出: 50

3.1.2、 切片

tuple_slice = (1, 2, 3, 4, 5)  
print(tuple_slice[1:4])  # 输出: (2, 3, 4)  
print(tuple_slice[::2])   # 输出: (1, 3, 5)

3.2、元组的连接操作 

可以通过 + 运算符连接两个或多个元组,生成一个新的元组。

tuple_a = (1, 2)  
tuple_b = (3, 4)  
combined_tuple = tuple_a + tuple_b  
print(combined_tuple)  # 输出: (1, 2, 3, 4)

3.3、索引index()

使用 index() 方法可以返回指定元素在元组中第一次出现的位置(索引值)。

tuple_index = (10, 20, 30, 10)  
print(tuple_index.index(10))  # 输出: 0

3.4、元组的计数count()

count() 方法返回指定元素在元组中出现的次数。

tuple_count = (1, 2, 1, 3, 1)  
print(tuple_count.count(1))  # 输出: 3

3.5、元组长度len()

 使用 len() 函数可以获取元组中元素的数量。

my_tuple = (1, 2, 3, 'a')  
length = len(my_tuple)  # 结果: 4

3.6、最大值max()

max() 函数返回元组中的最大值。

tuple_max = (5, 10, 15, 3)  
print(max(tuple_max))  # 输出: 15

3.7、最小值min()

min() 函数返回元组中的最小值。

tuple_min = (10, 20, 5, 30)  
print(min(tuple_min))  # 输出: 5

3.8、求和sum()

sum() 函数返回元组中所有元素的和。

tuple_sum = (1, 2, 3, 4, 5)  
print(sum(tuple_sum))  # 输出: 15

3.9、成员资格判断所要查找的元素是否在元组里面

可以使用 in , not  in关键字来判断某个元素是否在元组中。

tuple_membership = (1, 2, 3, 4)  
print(2 in tuple_membership)  # 输出: True  
print(5 in tuple_membership)  # 输出: False

3.10、比较运算操作

可以直接比较两个元组,比较是逐元素的。 

tuple_x = (1, 2, 3)  
tuple_y = (1, 2, 4)  
print(tuple_x < tuple_y)  # 输出: True,因为 3 < 4

3.11、排序

列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法。如果要对元组排序,只能使用内置函数sorted(tupleObj),并生成新的列表对象。

a = (20,10,30,9,8)
b = sorted(a)  #b是新对象,内容是:[8, 9, 10, 20, 30]

3.12、总结、

  1. 元组的核心特点是:不可变序列。

  2. 元组的访问和处理速度比列表快。

  3. 与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。

四、思维导图

标签:tuple,Python,元素,生成器,元组,print,基本操作,列表
From: https://blog.csdn.net/weixin_64110589/article/details/145010424

相关文章

  • 【20241030】【Python基础教程】第二章 列表和元组 II
    第二章列表与元组II切片切片用来访问特定范围内的元素。使用两个索引,并且用冒号分隔:代码:website='www.Ilovechina.com'print(website[6:10])#第一个索引是包含的第一个元素的编号,但第二个索引是切片后余下的第一个元素的编号print(website[8:-4])#-4是倒数第四个......
  • 变异凯撒-python脚本调整ascii码转字符串
    题目:加密密文:afZ_r9VYfScOeO_UL^RWUc格式:flag{}结合题目变异凯撒,第一个字符a到f加了5,第二个字符f到l加了6,推断每个字符都在前一个字符基础上+1.编写python脚本:#定义字符串str="afZ_r9VYfScOeO_UL^RWUc"#定义偏移量k,初始值为5k=5#遍历字符串中的每个字符for......
  • 【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名
    【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈背景本次学习逆向是针对小红书的用户转uid学习使用,逆向工程应当在合法和道德的范围内进行,尊重他人的知识产权和隐私权。要在小红书(Red)中将用户名转换为用户ID(U......
  • 利用Python实现温度转换 II
    温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪......
  • 基于python+Django+mysql民宿农家乐点评网站系统设计与实现
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育、辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩,提供核心代码讲解,答辩指导。项目配有对应开发......
  • TN Python爬虫高级开发工程师
     简介网络爬虫,涵盖从基础原理到高阶实战的丰富内容。讲解网络爬虫通讯、数据采集与解析原理,涉及多任务、动态数据采集。进阶至金融数据前后端实战,应对多种反爬虫手段,如cookie、验证码、JavaScript混淆加密等,教授绕过技巧。还深入介绍scrapy、feapder等框架,包括使用、数据......
  • Python 连接 MySQL
    连接安装连接库pipinstallmysql-connector-python查询frommysql.connectorimportconnectfrommysql.connectorimportErrortry:connection=connect(host='localhost',user='root',password='',......
  • 【Python】构建智能语音助手:使用Python实现语音识别与合成的全面指南
    《PythonOpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门!解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界随着人工智能技术的迅猛发展,语音助手已成为人们日常生活中不可或缺的一部分。从智能手机到智能家居设备,语音交互提供了便捷高效的人机交互方式......
  • python代码实现了一个基于双向LSTM(Long Short-Term Memory)的情感分类模型,用于对IMDB影
    importtorchimporttorch.nnasnnimporttorch.optimasoptimfromtorch.utils.dataimportDataLoaderfromtorchtext.vocabimportGloVefromtorchtext.data.utilsimportget_tokenizerimporttorchtextfromtorchtext.vocabimportbuild_vocab_from_iterato......
  • Python的Tkinter库创建了一个图形用户界面(GUI)应用程序,实现了一个简单的薪资计算系统
    importtkinterastkfromtkinter.fontimportFontfromtkinterimportmessageboxclassPayrollSystem:def__init__(self,root):self.root=rootroot.config(bg='#83a7de')self.mainframe=tk.Frame(root,bg='#8......