python - 在正确的位置附加值

标签 python python-3.x

对于以下声明的列表:

a =[[array([0, 1, 2, 3, 4])], [array([0, 1, 2]), array([3, 4])], [array([0, 1]), array([2, 3]), array([4])]]
t= [[[]], [[], []], [[], [], []]]

我写了一个代码,如下所示。 (我们可以很容易地看出,“t”在二阶范围内与“a”的尺寸相同)

 import numpy as np
 for i in range(3):
    for j in range(len(a[i])):
       for k in range(len(a[i][j])-1):
           p = k*(a[i][j][k+1]-a[i][j][k])
           print(p)
       t[i][j].append(p)
       print(t)

这与“p”的输出效果很好,如下所示:

0
1
2
3
0
1
0
0
0

但是 t 的输出值是意外的。 我实际上期待以下形式的“t”,其中“p”的值进入其相应的子列表。

t=[[[0,1,2,3]],[[0,1],[0]],[[0],[0],[0]]]

我不明白我的代码中的缺陷。

有什么可能的方法来获得“t”的预期结果? 请帮忙。 谢谢。

最佳答案

t[i][j].append(p) 的缩进错误?虽然很难理解您想要实现的目标,但下面的结果看起来与您的期望非常相似。

for i in range(3):
   for j in range(len(a[i])):
      for k in range(len(a[i][j])-1):
          p = k*(a[i][j][k+1]-a[i][j][k])
          #print(p)
          t[i][j].append(p)
print(t)

打印:

[[[0, 1, 2, 3]], [[0, 1], [0]], [[0], [0], []]]

关于python - 在正确的位置附加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50133982/

相关文章:

android - 如何使用 Kivy 和 Python 解决文件选择器应用程序的 UnicodeDecodeError?

Python - Pandas - 将整个 excel 文件提取为字符串

python - pyodbc - 从 MS Access (MDB) 数据库读取主键

python - 部署云函数时index.js出错

python - 在 python 3 中查找过滤器对象的长度

python - 在 paramiko python 中的 sftp 期间更改了文件权限

python - 保持 OrderedDict 的顺序

python - 为什么这段代码没有遍历所有 dict 的元素?

python - 逻辑 'AND' 的 Tensorflow 自定义估计器

字符串上的 Python hash() 函数