gpt4 book ai didi

python - 交换存储在元组中的两个列表的位置

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:47 25 4
gpt4 key购买 nike

我有一个包含多个列表的元组,我需要动态交换两个列表中项目的值。例如,tuple_of_lists = (**list1**:[1,1,1],list2:[2,2,2],**list3**:[3,3,3])我需要能够输入--swap x & y (1,3)--并且在不更改列表名称的情况下,输出为 ( **list1**:[3,3,3],list2:[2,2,2],**list3**:[1,1,1] )

对Python(以及一般的编码)仍然很陌生,并且我认为我缺少一些关于数据结构的东西。

我正在尝试使用类似的东西:

intermediary = tuple_of_lists[1] 
tuple_of_lists[1] = list(tuple_of_lists[3])
tuple_of_lists[3] = list(intermediary)

但是我收到一个错误,元组不接受赋值——即使它只是实际被更改的列表?有没有简单的方法可以解决?

最佳答案

元组是不可变的,因此您无法更改它们的元素。然而,列表是可变的。

您可以做的是从元组创建一个列表,交换元素并将列表转换回元组:

tuple_of_lists = ([1,1,1], [2,2,2], [3,3,3])
lt = list(tuple_of_lists) #create list from tuple
lt[2],lt[0] = lt[0],lt[2] #swap items 0 and 2
tuple_of_lists = tuple(lt) #convert to tuple

print(tuple_of_lists)

输出:

([3,3,3], [2,2,2], [1,1,1])

关于python - 交换存储在元组中的两个列表的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60023616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com