0

我正在尝试将mxn使用嵌套循环的数组作为变量存储在 python 脚本中,如下所示:

A=[ ]
for j in ListA:
   for x in ListB:
      values = some.function(label_fname, stc_fname)
      A(j)=values(x)

对于每个xvalues是一个mxn矩阵m~=nvalues[x]当我在这里按or索引值时,values(x)我得到: output operand requires a reduction, but reduction is not enabledOR can't assign to function call

我想要的是追加values(x)矩阵并存储在A(j). 老实说,我不能用英语说这个,但在 matlab 行话中,我正在尝试创建一个单元数组,数组在A{j}哪里mxn

提前致谢。

4

2 回答 2

1

您似乎对 python 有几个问题:

  1. 索引到列表时,使用[and ]; 不是()。此外,列表的第一个元素位于索引 0。这意味着如果您有一个列表 `L = ['a', 'b', 'c', 'd'],

    • L中'a'的索引为0
    • L中'b'的索引是1
    • L中'c'的索引是2
    • L中'd'的索引是3

根据我从您的解释中了解到的情况,我建议使用以下代码。看看它是否适合你:

A = []
for sub_list in ListA:
    temp = []
    for x in ListB:
        values = some.function(label_fname, stc_fname)
        temp.append(values)
    A.append(temp)

我真的不太确定你在问什么,但希望这是一个好的开始。希望能帮助到你

于 2012-09-11T01:40:46.963 回答
0

You might be trying / expecting to create a dict() with j as the the key.

Or, for multidimensional arrays, numpy is very useful

See the dict() docs: http://docs.python.org/library/stdtypes.html#dict

Note:

> A(j) # this calls function A
> A[j] # this returns the list item 'j'
> A[j] = foo # this sets list item 'j' = foo
于 2012-09-11T01:38:39.813 回答