列表和元组的互相转换

元组不能够删改,但是支持分片、索引、相加和乘法。

如果真的有特殊需求,需要修改元组中的元素怎么办?

在这里有一个思路,可以先用 list() 函数把元组转换成列表,相当于给数据“解锁”,将元素修改完毕后,再用 tuple() 函数转换回元组,相当于“重新上锁”。

我们在下面的代码中来看看具体的操作步骤:

students = ('林黛玉', '贾宝玉', '薛宝钗')

# 用 list() 函数给数据“解锁”,生成一个相同元素的新列表
students_list = list(students)

# 在新列表中修改元素
students_list[0] = '妙玉'

# 两次给数据“上锁”
students = tuple(students_list)

print(students)
# 输出:('妙玉', '贾宝玉', '薛宝钗')

 举个例子,修改元组中的错别字:

willow = (
'粉堕百花州,',
'香残燕子楼。',
'一团团逐对成逑。',
'飘泊亦如人命薄,',
'空缱绻,',
'说风流。',
'草木也知愁,',
'韶华竟百头!',
'叹今生谁舍谁收?',
'嫁与东风春不管。',
'凭尔去,',
'忍淹留。'
)

# 找出错句的位置
wrong_index = willow.index('韶华竟百头!')

# 将元组转成列表以便改动
willow_list=list(willow)

# 利用索引,将列表中错句改对
willow_list[wrong_index] = '韶华竟白头!'

# 重新转换回元组
willow=tuple(willow_list)

# 打印修改正确的元组
print(willow)

 
posted @ 2020-07-04 08:09  MINGZHUQI  阅读(7676)  评论(0编辑  收藏  举报