python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python元组创建、索引访问和作用

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

作者: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元组创建、索引访问和作用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文