python中元组创建、索引访问和元组作用详解

 更新时间:2024年11月05日 08:28:54   作者:Studying 开龙wu  
在Python中,元组是一种内置的不可变序列,使用圆括号定义,元组的创建可以通过直接使用圆括号或者逗号分隔的方式进行,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、元组的创建和删除

在 Python 中,元组tuple)是一种内置的数据结构,用于存储不可变的序列。元组通常用于存储一组相关的数据,这些数据在创建后不能被修改(即元组是不可变的)。元组使用圆括号 () 来定义,并且可以包含不同类型的元素。

1.元组创建三种方法

你可以使用圆括号来创建元组,也可以使用逗号来创建只有一个元素的元组(如果只有一个元素而不加逗号,它会被识别为普通的变量而不是元组)。

# 使用小括号创建元组
a = ('yuwen',25,[4,6,9],['d','k'],'yuanzu')
print(a)

#使用内置函数tuple()创建元组
b = tuple('helloworld26')
print(b)

c = (5,88,69,33)
print(c)

d = tuple([1,2,3,8,9,66])
print(d)
# 逗号创建
e = 10,2,45,'fgh'
print(e)

# 一个元素
f = (4,)
print(f)

2.元组像序列操作

a = (11,25,69,86,34)
print('yuwen在a字符串中存在吗?:',(10 in a))
print('d在a字符串中存在吗?:',(15 in a))
print('o在a字符串中不存在吗?:',(12 not in a))
print('len()', len(a) )
print('max()', max(a) )
print('min()', min(a) )
print('a.index()',a.index(69) )
print('a.count()',a.count(34))

注意如果元组元素是int和字符串,还有其他的,就使用代码出错,例如

a = ('yuwen', 25,[4,6,9], ['d','k'], 'yuanzu')

3.访问元组中的元素

# 访问元组中的第一个元素  
first_element = my_tuple[0]  
  
# 访问元组中的第三个元素  
third_element = my_tuple[2]

4.元组删除

del a
print(t)

结果运行报错

二、元组的访问和遍历

a = ('yuwen', 25,[4,6,9], ['d','k'], 'yuanzu')

# 索引访问
print(a[2])

a1= a[0:3:2]# 切片操作
print(a1)

# 元组的遍历
for i in a:
    print(i)
print()

# len()使用
for i in range(len(a)):
    print(i,a[i])

# 枚举类型
for i,j in enumerate(a):
    print(i,'------->',j)
print()

for i,j in enumerate(a,start=11):
    print(i,'----->',j)

三、元组的生成式

a = (i for i in range(1,4))
print(a)
a = tuple(a)
print(a)

# 遍历
for i in a:
    print(i)

取出元素:

next() 是一个特殊方法(也称为魔术方法或双下方法),它定义了迭代器对象的下一个元素是如何被获取的。当你使用 next() 函数(或在循环中隐式地)请求迭代器的下一个元素时,Python会在迭代器对象上调用 next() 方法。

迭代器

迭代器是一个实现了两个方法 iter() 和 next() 的对象。iter() 方法应该返回迭代器对象本身(这通常意味着迭代器对象也是可迭代对象),而 next() 方法在每次调用时应该返回序列中的下一个元素。如果迭代器耗尽了其元素(即没有更多元素可以返回),则 next() 方法应该引发一个 StopIteration 异常,以通知迭代终止。

a = (i for i in range(1,4))
print(a)
# a = tuple(a)
# print(a)
#
# # 遍历
# for i in a:
#     print(i)

print(a.__next__())
print(a.__next__())
print(a.__next__())

a = tuple(a)
print(a)

四、元组和列表的区别

1.可变性

列表(List):列表是可变的,这意味着在创建后,你可以修改、添加或删除其中的元素。例如,你可以使用 append()、extend()、insert()、remove() 和 pop() 等内置方法来修改列表的内容。

元组(Tuple):元组是不可变的,一旦创建,其内容就不能被修改、添加或删除。尝试修改元组中的元素会引发 TypeError 异常。

2.语法表示

列表:列表使用方括号 [] 来定义,元素之间用逗号分隔。例如:my_list = [1, 2, 3]。

元组:元组使用圆括号 () 来定义,元素之间也用逗号分隔。例如:my_tuple = (1, 2, 3)。值得注意的是,当元组中只有一个元素时,需要在元素后面加上逗号以区分单元素元组和括号内的单个表达式。例如:(5,) 是一个元组,而 (5) 只是一个带有圆括号的整数表达式。

3.内存占用和性能

内存占用:由于元组是不可变的,它们在内存中的存储效率通常比列表更高。因为不需要为可能的扩展操作预留额外的空间。

性能:在处理大量数据时,元组的性能通常比列表更好。这是因为元组的不可变性使得它们在某些情况下更易于优化。然而,在需要频繁修改元素的场景下,列表可能会比元组更快,因为列表为修改操作提供了更多的内置方法。

4. 用途

列表:列表更适用于需要频繁修改、添加或删除元素的场景。例如,你可以使用列表来存储一组需要动态变化的数据。

元组:元组通常用于存储不可变的数据集。例如,它们可以作为字典的键、函数的参数或返回值等。由于元组的不可变性,它们还可以用于表示一些固定的配置信息或常量集合。

5. 方法支持

列表:列表提供了丰富的内置方法来修改其内容。例如,append() 方法用于在列表末尾添加元素,extend() 方法用于将另一个列表中的所有元素添加到当前列表的末尾,insert() 方法用于在指定位置插入元素等。

元组:由于元组是不可变的,它们的方法较少。常用的方法包括 count()(返回指定元素在元组中出现的次数)和 index()(返回指定元素在元组中的索引位置)。

总结

到此这篇关于python中元组创建、索引访问和元组作用的文章就介绍到这了,更多相关python元组创建、索引访问和作用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python获取网页数据的五种方法

    Python获取网页数据的五种方法

    在 Python 中,爬虫用于自动化获取网页数据,你可以使用多种方法来抓取网页内容,具体使用哪种方法取决于网页的结构、内容类型以及你所需的精确度,以下是常见的 5 种获取网页数据的方式,需要的朋友可以参考下
    2025-01-01
  • 解析numpy中的iscomplex方法及实际应用

    解析numpy中的iscomplex方法及实际应用

    NumPy 的 iscomplex 方法为检查数组中的元素是否为复数提供了一种高效且易于使用的接口,本文介绍了 iscomplex 方法的基本概念、使用方法以及它在解决实际问题中的应用,需要的朋友可以参考下
    2024-06-06
  • Python实现按中文排序的方法示例

    Python实现按中文排序的方法示例

    这篇文章主要介绍了Python实现按中文排序的方法,涉及Python基于locale模块的中文编码与排序相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • python静态方法实例

    python静态方法实例

    这篇文章主要介绍了python静态方法,实例分析了python静态方法的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • 使用 Python 获取 Linux 系统信息的代码

    使用 Python 获取 Linux 系统信息的代码

    在本文中,我们将会探索使用Python编程语言工具来检索Linux系统各种信息,需要的朋友可以参考下
    2014-07-07
  • Python封装git命令的流程步骤

    Python封装git命令的流程步骤

    在日常的 Android 项目开发中,一般只会使用到: git add, git commit, git push, git pull, git rebase, git merge, git diff等常规命令,但是使用 git 命令,还可以做一些特别的事情,下面将介绍使用 python 封装 git 命令,需要的朋友可以参考下
    2024-01-01
  • pandas 相关性和正态性分析的实践

    pandas 相关性和正态性分析的实践

    当我们谈论正态性(Normality)和相关性(Correlation)时,我们实际上在尝试理解数据的分布模式和不同变量之间的关系,本文就来介绍一下pandas 相关性和正态性的实践,感兴趣的可以了解一下
    2024-07-07
  • Python使用Chartify库进行数据分析绘制详解

    Python使用Chartify库进行数据分析绘制详解

    这篇文章主要介绍了Python使用Chartify库进行数据分析绘制,它提供了简洁易用的API,让我们能够快速地绘制出美观且专业的图表,无需像使用matplotlib和seaborn那样花费大量时间去调整各种复杂的参数,大大提高了数据可视化的效率,需要的朋友可以参考下
    2025-04-04
  • Python 实现OpenCV格式和PIL.Image格式互转

    Python 实现OpenCV格式和PIL.Image格式互转

    今天小编就为大家分享一篇Python 实现OpenCV格式和PIL.Image格式互转,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python脚本实现获取IP地址

    Python脚本实现获取IP地址

    这篇文章主要为大家详细介绍了如何基于Python编写一个脚本,可以实现获取主机名、外网IP(通过多个公共API尝试) IPV4和IPV6以及所有网络接口的内网IP,感兴趣的可以了解下
    2025-03-03

最新评论