元组中的元素类型可以互换吗?

2026-05-24 12:351阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计689个文字,预计阅读时间需要3分钟。

元组中的元素类型可以互换吗?

元组的定义 + Python内置的数据结构之一,是一个不可变序列 + 不可变序列:字符串,元组:没有增删改的操作 + 可变序列:列表,字典:可以执行增删改操作,对象地址不会发生改变。

元组的定义

Python内置的数据结构之一,是一个不可变序列

不可变序列:字符串,元组。没有增删改的操作

可变序列:列表,字典。可以对序列执行增删改操作,对象地址不发生更改。

#可变序列 列表
lst = [10,20,30]
print(lst,id(lst))
lst.append(40)
print(lst,id(lst)) #没有创建新的对象

#不可变序列 字符串
s = 'hello'
print(id(s))
s = s + 'world'
print(id(s)) #id号发生改变,创建了一个新的对象


元组的创建方式
小括号创建
print('-----小括号----')
t = ('python','hello',652)
print(t)
print(type(t))
使用内置函数tuple()
print('----使用内置函数tuple()----')
t1 = tuple(('java','world',654))
print(t1)
print(type(t1))

其中,只包含一个元组的元素需要使用逗号和小括号,不然类型会转换为字符串

t3 = ('safe',)
t4 = ('safe')
print(t3,type(t3))
print(t4,type(t4))

元组中的元素类型可以互换吗?


空元组的创建
print('----空元组的创建-----')

t = ()
t1 = tuple()
print(t,type(t))
print(t1,type(t1))


将元组设计成不可变序列的原因

在多任务环境下,同时操作对象时不需要加锁,因此,在程序中尽量使用不可变序列

当元组中的一个元素是可变序列时(如列表),那么元组同样不可变,但是其中的列表可以增删改元素。

t = (10,[20,30],50)
print(t)
print(type(t))
print(t[0],type(t[0]))
print(t[1],type(t[1])) #该元素为列表,可变序列
print(t[2],type(t[2]))
#t[1] = 100 #直接更改元组的元素,会报错
t[1].append(40) #对列表更改,则不会报错
print(t,type(t))


元组的遍历

元组时可迭代对象,所以可以使用for-in进行遍历

print('------元组的遍历-----')
t = tuple(('世界','永远','美好'))
for item in t:
print(item)





本文共计689个文字,预计阅读时间需要3分钟。

元组中的元素类型可以互换吗?

元组的定义 + Python内置的数据结构之一,是一个不可变序列 + 不可变序列:字符串,元组:没有增删改的操作 + 可变序列:列表,字典:可以执行增删改操作,对象地址不会发生改变。

元组的定义

Python内置的数据结构之一,是一个不可变序列

不可变序列:字符串,元组。没有增删改的操作

可变序列:列表,字典。可以对序列执行增删改操作,对象地址不发生更改。

#可变序列 列表
lst = [10,20,30]
print(lst,id(lst))
lst.append(40)
print(lst,id(lst)) #没有创建新的对象

#不可变序列 字符串
s = 'hello'
print(id(s))
s = s + 'world'
print(id(s)) #id号发生改变,创建了一个新的对象


元组的创建方式
小括号创建
print('-----小括号----')
t = ('python','hello',652)
print(t)
print(type(t))
使用内置函数tuple()
print('----使用内置函数tuple()----')
t1 = tuple(('java','world',654))
print(t1)
print(type(t1))

其中,只包含一个元组的元素需要使用逗号和小括号,不然类型会转换为字符串

t3 = ('safe',)
t4 = ('safe')
print(t3,type(t3))
print(t4,type(t4))

元组中的元素类型可以互换吗?


空元组的创建
print('----空元组的创建-----')

t = ()
t1 = tuple()
print(t,type(t))
print(t1,type(t1))


将元组设计成不可变序列的原因

在多任务环境下,同时操作对象时不需要加锁,因此,在程序中尽量使用不可变序列

当元组中的一个元素是可变序列时(如列表),那么元组同样不可变,但是其中的列表可以增删改元素。

t = (10,[20,30],50)
print(t)
print(type(t))
print(t[0],type(t[0]))
print(t[1],type(t[1])) #该元素为列表,可变序列
print(t[2],type(t[2]))
#t[1] = 100 #直接更改元组的元素,会报错
t[1].append(40) #对列表更改,则不会报错
print(t,type(t))


元组的遍历

元组时可迭代对象,所以可以使用for-in进行遍历

print('------元组的遍历-----')
t = tuple(('世界','永远','美好'))
for item in t:
print(item)