如何在python中替换列表列表中的列
我有一个列表,比如如何在python中替换列表列表中的列,python,list,numpy,replace,Python,List,Numpy,Replace,我有一个列表,比如 l1=[[1 2] [3 4] [5 6]] 还有另一份名单 l2=[[5] [3] [9]] 我想用l2替换l1第二列中的元素 l1=[[1 5] [3 3] [5 9]] 我试着像l1[:,1]=np.重塑(l2,(3))那样做,但它似乎不起作用,而且在其他方面我只会出错。这应该就行了。确定没有别的问题吗 import numpy as np l1 = np.array([[1, 2], [3, 4], [5,
l1=[[1 2]
[3 4]
[5 6]]
还有另一份名单
l2=[[5]
[3]
[9]]
我想用l2
替换l1
第二列中的元素
l1=[[1 5]
[3 3]
[5 9]]
我试着像l1[:,1]=np.重塑(l2,(3))那样做,但它似乎不起作用,而且在其他方面我只会出错。这应该就行了。确定没有别的问题吗
import numpy as np
l1 = np.array([[1, 2], [3, 4], [5, 6]])
l2 = np.array([[5], [3], [9]])
l1[:,1] = l2.reshape(3)
# Or you can do
l1[:,1] = np.reshape(l2, 3)
print(l1)
产出:
[[1 5]
[3 3]
[5 9]]
这是另一种方法。这对我有用
将numpy导入为np
l1=np.asanyarray([[1,2],[3,4],[5,6])
l2=np.asanyarray([[5],[3],[9]])
l1[:,1]=l2[:,0]
#输出:[[15]
# [3 3]
# [5 9]]
因此,我找到了它(如果将来有人需要它),我将原始列表展平,然后将列表拆分为两个列表,然后在偶数索引处添加元素并对其进行重塑,这似乎是可行的
m1=l1.flatten()
l12=[]
l11=[]
for i in range(0,len(m1)):
if i % 2==0:
l12.append(m1[i])
else:
l11.append(m1[i])
for x in range(len(l12)):
l1.insert(2*x+1, l2[x])
print(np.reshape(l12,(3,2)))
你说的“好像不起作用”是什么意思?发生了什么?列表符号中缺少逗号。完全没有发生任何事情。l1打印相同的元素。没有缺少逗号。这是一个列表。您将python列表和numpy数组字符串表示混为一谈