Python 如何删除列表';s元素?
有人知道如何删除列表中的逗号吗Python 如何删除列表';s元素?,python,arrays,list,numpy,Python,Arrays,List,Numpy,有人知道如何删除列表中的逗号吗 [4.1755139724695871, -2.6367224815727237, 2.3407722739111092, 0.36546242292367692] 它必须是这样的: [ 4.17551397 -2.63672248 2.34077227 0.36546242] 我使用了以下代码: import numpy as np def ontbinding(A, x): N, N = A.shape e = np.linalg.ei
[4.1755139724695871, -2.6367224815727237, 2.3407722739111092, 0.36546242292367692]
它必须是这样的:
[ 4.17551397 -2.63672248 2.34077227 0.36546242]
我使用了以下代码:
import numpy as np
def ontbinding(A, x):
N, N = A.shape
e = np.linalg.eig(A)
eigenvector = e[1]
return [np.dot(x.T,(eigenvector[:,i]).T)[0] for i in range(N)]
并给出了以下数组和列表
A = np.array([[ 0., 0., 5., -2.],
[ 0., -4., 7., 4.],
[ 5., 7., 18., 3.],
[ -2., 4., 3., 0.]])
x = np.array([[1.], [2.], [3.], [4.]])
列表本身没有逗号。这是唯一插入逗号作为默认输出渲染的打印图像(使用str
或生成)。使用这样的对象可以显式生成图像,删除逗号,然后打印
list_str = str(list).replace(',', '')
print list_str
这就是您需要的吗?列表本身没有逗号。这是唯一插入逗号作为默认输出渲染的打印图像(使用str
或生成)。使用这样的对象可以显式生成图像,删除逗号,然后打印
list_str = str(list).replace(',', '')
print list_str
这就是您需要的吗?您将A
和x
定义为数组;它们的打印表示形式没有逗号。您的输入是列表形式的,需要逗号
In [39]: A
Out[39]:
array([[ 0., 0., 5., -2.],
[ 0., -4., 7., 4.],
[ 5., 7., 18., 3.],
[ -2., 4., 3., 0.]])
In [40]: x
Out[40]:
array([[ 1.],
[ 2.],
[ 3.],
[ 4.]])
In [41]: print(A)
[[ 0. 0. 5. -2.]
[ 0. -4. 7. 4.]
[ 5. 7. 18. 3.]
[ -2. 4. 3. 0.]]
In [42]: print(x)
[[ 1.]
[ 2.]
[ 3.]
[ 4.]]
函数返回一个列表,即列表理解的结果,[…对于范围(N)中的i)]
您可以将其转换为数组:
In [46]: np.array(y)
Out[46]: array([ 4.17551397, -2.63672248, 2.34077227, 0.36546242])
In [47]: print(np.array(y))
[ 4.17551397 -2.63672248 2.34077227 0.36546242]
将A
和x
定义为数组;它们的打印表示形式没有逗号。您的输入是列表形式的,需要逗号
In [39]: A
Out[39]:
array([[ 0., 0., 5., -2.],
[ 0., -4., 7., 4.],
[ 5., 7., 18., 3.],
[ -2., 4., 3., 0.]])
In [40]: x
Out[40]:
array([[ 1.],
[ 2.],
[ 3.],
[ 4.]])
In [41]: print(A)
[[ 0. 0. 5. -2.]
[ 0. -4. 7. 4.]
[ 5. 7. 18. 3.]
[ -2. 4. 3. 0.]]
In [42]: print(x)
[[ 1.]
[ 2.]
[ 3.]
[ 4.]]
函数返回一个列表,即列表理解的结果,[…对于范围(N)中的i)]
您可以将其转换为数组:
In [46]: np.array(y)
Out[46]: array([ 4.17551397, -2.63672248, 2.34077227, 0.36546242])
In [47]: print(np.array(y))
[ 4.17551397 -2.63672248 2.34077227 0.36546242]
此代码必须为您提供正确答案
import numpy as np
def ontbinding(A, x):
N, N = A.shape
e = np.linalg.eig(A)
eigenvector = e[1]
return np.array([np.dot(x.T,(eigenvector[:,i]).T)[0] for i in range(N)])
请记住,当你使用理解时,你会自动收到一个列表。如果要将该列表更改为数组,只需使用:
np.array(list)
此代码必须为您提供正确答案
import numpy as np
def ontbinding(A, x):
N, N = A.shape
e = np.linalg.eig(A)
eigenvector = e[1]
return np.array([np.dot(x.T,(eigenvector[:,i]).T)[0] for i in range(N)])
请记住,当你使用理解时,你会自动收到一个列表。如果要将该列表更改为数组,只需使用:
np.array(list)
你到底需要计算什么,因为我真的看不出你对给定代码的错误是什么?顶部的示例输出似乎是数组的默认字符串表示形式。要更改表示形式,编写自己的ToString函数可能是最快的。逗号是打印表示形式的一部分,而不是实际数据结构的一部分。您的数据结构中没有逗号。如果不想打印逗号,则需要更改打印数据的方式,而不是数据的存储方式。请检查使用空格作为分隔符而不是逗号。您到底需要计算什么,因为我真的看不出你对给定代码的错误是什么?顶部的示例输出似乎是数组的默认字符串表示形式。要更改表示形式,编写自己的ToString函数可能是最快的。逗号是打印表示形式的一部分,而不是实际数据结构的一部分。您的数据结构中没有逗号。如果不想打印逗号,则需要更改打印数据的方式,而不是数据的存储方式。请检查仅使用空格作为分隔符,而不是逗号。这应被视为更好的答案。这应被视为更好的答案。