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使用JSON库解析JSON数据的方法

    Python使用JSON库解析JSON数据的方法

    这篇文章主要介绍了Python使用JSON库解析JSON数据,主要包括如何在网页中获取json数据及python内置的json库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Python数据可视化绘图实例详解

    Python数据可视化绘图实例详解

    数据可视化是指用图形或表格的方式来呈现数据。图表能够清楚地呈现数据性质, 以及数据间或属性间的关系。本文为大家分享了几个Python数据可视化绘图的实例,感兴趣的可以了解一下
    2022-05-05
  • Python3.9安装gmpy2的步骤

    Python3.9安装gmpy2的步骤

    gmpy2是一个Python扩展模块,是对GMP的封装,它的前身是gmpy,接下来通过本文给大家讲解Python3.9安装gmpy2的步骤,安装gmpy2之前需要提前安装python3环境,安装python请自行百度搜索,不同的python版本会对应的gmpy库也是不同的,需要的朋友可以参考下
    2023-05-05
  • Python中Django与Echarts的结合用法图文详解

    Python中Django与Echarts的结合用法图文详解

    ECharts是一个第三方控件,下面这篇文章主要给大家介绍了关于Python中Django与Echarts的结合用法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • matplotlib subplots 调整子图间矩的实例

    matplotlib subplots 调整子图间矩的实例

    今天小编就为大家分享一篇matplotlib subplots 调整子图间矩的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python Django form 组件动态从数据库取choices数据实例

    Python Django form 组件动态从数据库取choices数据实例

    这篇文章主要介绍了Python Django form 组件动态从数据库取choices数据实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 如何创建第一个Pygame程序

    如何创建第一个Pygame程序

    本文主要介绍了如何创建第一个Pygame程序,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 一篇文章了解Python中常见的序列化操作

    一篇文章了解Python中常见的序列化操作

    这篇文章主要给大家介绍了软玉Python中常见的序列化操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • python中time.ctime()实例用法

    python中time.ctime()实例用法

    在本篇内容里小编给大家整理的是一篇关于python中time.ctime()实例用法内容,有兴趣的朋友们可以跟着学习参考下。
    2021-02-02
  • 使用Python第三方库pygame写个贪吃蛇小游戏

    使用Python第三方库pygame写个贪吃蛇小游戏

    这篇文章主要介绍了使用Python第三方库pygame写个贪吃蛇小游戏,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论