Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python元素智能外接程序列表和其他列表_Python_Numpy - Fatal编程技术网

python元素智能外接程序列表和其他列表

python元素智能外接程序列表和其他列表,python,numpy,Python,Numpy,我查了一下类似的问题 但我的要复杂一点,因为我正在用另一个列表添加列表列表 我的清单如下所示 [[0 0.014285714 0.035600016] ,[0.014285714 0 0.038359389] ,[0.035600016 0.038359389 0]] [[0 0.014285714 0.035600016] ,[0.014285714 0 0.038359389] ,[0.035600016

我查了一下类似的问题

但我的要复杂一点,因为我正在用另一个列表添加列表列表

我的清单如下所示

[[0         0.014285714 0.035600016]
,[0.014285714   0           0.038359389]
,[0.035600016   0.038359389 0]]


[[0         0.014285714 0.035600016]
,[0.014285714   0           0.038359389]
,[0.035600016   0.038359389 0]]
把这两个加起来,结果就是3乘3的矩阵


我如何才能有效地添加这两个列表?

如果您正在使用numpy矩阵,@AlexThornton有最好的答案

如果您正在处理列表,您应该执行以下操作:

summed_list = [[c+d for c,d in zip(i,j)] for i,j in zip(a,b)]   #a,b are your two lists
简单的例子:
如果你正在使用numpy矩阵,@AlexThornton有最好的答案

如果您正在处理列表,您应该执行以下操作:

summed_list = [[c+d for c,d in zip(i,j)] for i,j in zip(a,b)]   #a,b are your two lists
简单的例子:
如果你正在使用numpy矩阵,@AlexThornton有最好的答案

如果您正在处理列表,您应该执行以下操作:

summed_list = [[c+d for c,d in zip(i,j)] for i,j in zip(a,b)]   #a,b are your two lists
简单的例子:
如果你正在使用numpy矩阵,@AlexThornton有最好的答案

如果您正在处理列表,您应该执行以下操作:

summed_list = [[c+d for c,d in zip(i,j)] for i,j in zip(a,b)]   #a,b are your two lists
简单的例子:
您标记了您的问题
numpy
,因此我认为这是可以的:

import numpy as np

a = np.matrix(a)
b = np.matrix(b)
c = a + b
其中
a
b
是您的两个列表,
c
是这两个列表的总和


到目前为止,最简单的方法是使用
numpy
:)

您标记了您的问题
numpy
,因此我认为这是可以的:

import numpy as np

a = np.matrix(a)
b = np.matrix(b)
c = a + b
其中
a
b
是您的两个列表,
c
是这两个列表的总和


到目前为止,最简单的方法是使用
numpy
:)

您标记了您的问题
numpy
,因此我认为这是可以的:

import numpy as np

a = np.matrix(a)
b = np.matrix(b)
c = a + b
其中
a
b
是您的两个列表,
c
是这两个列表的总和


到目前为止,最简单的方法是使用
numpy
:)

您标记了您的问题
numpy
,因此我认为这是可以的:

import numpy as np

a = np.matrix(a)
b = np.matrix(b)
c = a + b
其中
a
b
是您的两个列表,
c
是这两个列表的总和


到目前为止,最简单的方法是使用
numpy
:)

我可以使用numpy解决:

>>> a = [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
>>> b = [[4, 5, 6], [4, 5, 6], [4, 5, 6]]

>>> from numpy import array, sum

>>> list(array(a) + array(b))
[array([5, 7, 9]), array([5, 7, 9]), array([5, 7, 9])]


我可以使用numpy解决以下问题:

>>> a = [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
>>> b = [[4, 5, 6], [4, 5, 6], [4, 5, 6]]

>>> from numpy import array, sum

>>> list(array(a) + array(b))
[array([5, 7, 9]), array([5, 7, 9]), array([5, 7, 9])]


我可以使用numpy解决以下问题:

>>> a = [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
>>> b = [[4, 5, 6], [4, 5, 6], [4, 5, 6]]

>>> from numpy import array, sum

>>> list(array(a) + array(b))
[array([5, 7, 9]), array([5, 7, 9]), array([5, 7, 9])]


我可以使用numpy解决以下问题:

>>> a = [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
>>> b = [[4, 5, 6], [4, 5, 6], [4, 5, 6]]

>>> from numpy import array, sum

>>> list(array(a) + array(b))
[array([5, 7, 9]), array([5, 7, 9]), array([5, 7, 9])]


这里是一个使用“香草”python和递归的递归解决方案 (此解决方案适用于嵌套元组或列表)
from operator import add
def list_recur(l1, l2, op = operator.add):
    if not l1:
        return type(l1)([])
    elif isinstance(l1[0], type(l1)):
        return type(l1)([list_recur(l1[0], l2[0], op)]) + \
list_recur(l1[1:],l2[1:], op)
    else:
        return type(l1)([op(l1[0], l2[0])]) + \
list_recur(l1[1:], l2[1:], op)
从操作员导入添加
def list_recur(l1、l2、op=operator.add):
如果不是l1:
返回类型(l1)([]))
elif isinstance(l1[0],类型(l1)):
返回类型(l1)([列表重现(l1[0],l2[0],op)])+\
列表重复出现(l1[1:],l2[1:],op)
其他:
返回类型(l1)([op(l1[0],l2[0]))+\
列表重复出现(l1[1:],l2[1:],op)
此解决方案接受参数list1、list2以及您希望在元素方面执行的操作(默认添加)

例如,
list\u recurr([[1,2,3,4,5]],[1,2,3,4,5]])
将返回
[[2,4,6,8,10]

更复杂的例子也适用:

列表重复出现([1,2,3,3,3,4,1,1,3,2,3,3,3,3,4,1,3,3,3,3,4,1,3,3,4,3,3,3,4,3,3,4,3,3,4,3,3,3,4,3,3,4,3,4,3,3,4,3,4,3,4,3,3,\
x
将返回
[[[[[True,[[[[True,False][]]]-][]]

`

这里是一个使用“普通”python和递归的递归解决方案 (此解决方案适用于嵌套元组或列表)
from operator import add
def list_recur(l1, l2, op = operator.add):
    if not l1:
        return type(l1)([])
    elif isinstance(l1[0], type(l1)):
        return type(l1)([list_recur(l1[0], l2[0], op)]) + \
list_recur(l1[1:],l2[1:], op)
    else:
        return type(l1)([op(l1[0], l2[0])]) + \
list_recur(l1[1:], l2[1:], op)
从操作员导入添加
def list_recur(l1、l2、op=operator.add):
如果不是l1:
返回类型(l1)([]))
elif isinstance(l1[0],类型(l1)):
返回类型(l1)([列表重现(l1[0],l2[0],op)])+\
列表重复出现(l1[1:],l2[1:],op)
其他:
返回类型(l1)([op(l1[0],l2[0]))+\
列表重复出现(l1[1:],l2[1:],op)
此解决方案接受参数list1、list2以及您希望在元素方面执行的操作(默认添加)

例如,
list\u recurr([[1,2,3,4,5]],[1,2,3,4,5]])
将返回
[[2,4,6,8,10]

更复杂的例子也适用:

列表重复出现([1,2,3,3,3,4,1,1,3,2,3,3,3,3,4,1,3,3,3,3,4,1,3,3,4,3,3,3,4,3,3,4,3,3,4,3,3,3,4,3,3,4,3,4,3,3,4,3,4,3,4,3,3,\
x
将返回
[[[[[True,[[[[True,False][]]]-][]]

`

这里是一个使用“普通”python和递归的递归解决方案 (此解决方案适用于嵌套元组或列表)
from operator import add
def list_recur(l1, l2, op = operator.add):
    if not l1:
        return type(l1)([])
    elif isinstance(l1[0], type(l1)):
        return type(l1)([list_recur(l1[0], l2[0], op)]) + \
list_recur(l1[1:],l2[1:], op)
    else:
        return type(l1)([op(l1[0], l2[0])]) + \
list_recur(l1[1:], l2[1:], op)
从操作员导入添加
def list_recur(l1、l2、op=operator.add):
如果不是l1:
返回类型(l1)([]))
elif isinstance(l1[0],类型(l1)):
返回类型(l1)([列表重现(l1[0],l2[0],op)])+\
列表重复出现(l1[1:],l2[1:],op)
其他:
返回类型(l1)([op(l1[0],l2[0]))+\
列表重复出现(l1[1:],l2[1:],op)
此解决方案接受参数list1、list2以及您希望在元素方面执行的操作(默认添加)

例如,
list\u recurr([[1,2,3,4,5]],[1,2,3,4,5]])
将返回
[[2,4,6,8,10]

更复杂的例子也适用:

列表重复出现([1,2,3,3,3,4,1,1,3,2,3,3,3,3,4,1,3,3,3,3,4,1,3,3,4,3,3,3,4,3,3,4,3,3,4,3,3,3,4,3,3,4,3,4,3,3,4,3,4,3,4,3,3,\
x
将返回
[[[[[True,[[[[True,False][]]]-][]]

`

这里是一个使用“普通”python和递归的递归解决方案 (此解决方案适用于嵌套元组或列表)
from operator import add
def list_recur(l1, l2, op = operator.add):
    if not l1:
        return type(l1)([])
    elif isinstance(l1[0], type(l1)):
        return type(l1)([list_recur(l1[0], l2[0], op)]) + \
list_recur(l1[1:],l2[1:], op)
    else:
        return type(l1)([op(l1[0], l2[0])]) + \
list_recur(l1[1:], l2[1:], op)
从操作员导入添加
def list_recur(l1、l2、op=operator.add):
如果不是l1:
返回类型(l1)([]))
elif isinstance(l1[0],类型(l1)):
返回类型(l1)([列表重现(l1[0],l2[0],op)])+\
列表重复出现(l1[1:],l2[1:],op)
其他:
返回类型(l1)([op(l1[0],l2[0]))+\
列表重复出现(l1[1:],l2[1:],op)
此解决方案接受参数list1、list2以及您希望在元素方面执行的操作(默认添加)

例如,
list\u recurr([[1,2,3,4,5]],[1,2,3,4,5]])
将返回
[[2,4,6,8,10]

更复杂的例子也适用:

列表重复出现([1,2,3,3,3,4,1,1,3,2,3,3,3,3,4,1,3,3,3,3,4,1,3,3,4,3,3,3,4,3,3,4,3,3,4,3,3,3,4,3,3,4,3,4,3,3,4,3,4,3,4,3,3,\
x
将返回
[[[[[True,[[[[True,False][]]]-][]]

`

建议避免使用矩阵类,除非您特别需要矩阵类的注意事项。建议避免使用矩阵类,除非