gpt4 book ai didi

Python:更改实例列表中的元素位置

转载 作者:行者123 更新时间:2023-12-04 11:51:14 27 4
gpt4 key购买 nike

我有一个由类实例组成的列表:

MyList = [<instance1>, <instance2>, <instance3>]

我想改变第三个元素的位置, <instance3> ,现在应该保持在 index = 1 的位置,因此输出如下:
MyList = [<instance1>, <instance3>, <instance2>]

我已经建立了一个简单的例子:
a = [1,2]
b = [3,4]
c = [5,6]
d = [a,b,c]

上面的代码给了我以下 print d输出:
d = [[1, 2], [3, 4], [5, 6]]

我可以使用以下方法交换元素 (1) 和 (2):
d.remove(c)
d.insert(c,1)

这给了我以下输出(这是我想要的):
d = [[1, 2], [5, 6], [3, 4]]

但是,当我尝试对我的实例列表进行相同处理时,出现以下 AttributeError:
AttributeError: entExCar instance has no attribute '__trunc__'

有人可以告诉我我是否在方法中错了(例如:您不能将这种技术用于实例列表,您应该做“这个或那个”)或我设置代码的方式?以下脚本是我尝试运行时出现错误的实际代码:
newElement = self.matriceCaracteristiques[kk1]    
self.matriceCaracteristiques.remove(newElement)
self.matriceCaracteristiques.insert(newElement,nbConditionSortieLong)

提前致谢。

编辑:更多细节

entExCar 是正在初始化的类
self.matriceCaracteristiques 是我想要操作的列表
newElement 是我想从其原始位置 (kk1) 中移除并放回新位置 (nbConditionSortieLong) 的元素。

最佳答案

首先,我没有收到您提到的错误。
其次,您似乎在使用 insert 时犯了一个错误。 , 应该是 insert(1, c)而不是 insert(c, 1) ,见 docs

>>> d = [[1, 2], [5, 6], [3, 4]]
>>> c = d[1]
>>> d.remove(c)
>>> d
[[1, 2], [3, 4]]
>>> d.insert(c, 1)
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
d.insert(c, 1)
TypeError: 'list' object cannot be interpreted as an integer
>>> d.insert(1, c)
>>> d
[[1, 2], [5, 6], [3, 4]]

关于Python:更改实例列表中的元素位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21280763/

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