gpt4 book ai didi

Python列表转换成整数

转载 作者:太空宇宙 更新时间:2023-11-04 07:09:41 24 4
gpt4 key购买 nike

在测试代码时出现了一些错误——经过数学运算后,列表“缩小”到它自己的最后一项

在 Python 3.3 解释器中它工作正常...

a = [a + b for a, b in zip(a, b)]

我正在使用这段代码添加一些列表项

a = [1, 2, 3]
b = [2, 3, 2]

这工作正常并返回

>>> a
[3, 5, 5]
>>> b
[2, 3, 2]

然后我写了一个类来处理更多列表:

class Vector:

def __init__(self, name = '', vector = []):
self.__name = name
self.__vector = vector


def add_row_to_scalar_multiple(self, vector):
self.__vector = [self.__vector + vector.__vector for self.__vector, vector.__vector in zip(self.__vector, vector.__vector)]


def __str__(self):
vec = ('{0} = {1}'.format(self.__name, self.__vector))
formatted_vec = vec.replace(',', '')
return formatted_vec

当使用与上面相同的列表运行代码时,一个列表被缩减为一个整数

vec_a = Vector('a', [1, 2, 3])
vec_b = Vector('b', [2, 3, 2])

a = [1, 2, 3]
b = [2, 3, 2]

vec_b.add_row_to_scalar_multiple(vec_a)


a = 3
b = [3, 5, 5]

我只是不知道我做错了什么,所以有人可以帮忙吗??

最佳答案

self.__vector = [self.__vector + vector.__vector for self.__vector, vector.__vector in zip(self.__vector, vector.__vector)]

看到了吗?您在循环中为 self.__vector, vector.__vector 赋值 for self.__vector, vector.__vector in zip(self.__vector, vector.__vector)

关于Python列表转换成整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18319831/

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