如何重复移动和填充列表中的元素以获得列表列表?

红梁

我有一个列表A = [1, 2, 3, ..., n],想反复移动列表以获得列表列表。第一行应该是A,第二行[2, 3, 4, ...]是第三行[3, 4, 5, ...],直到最后一行[n, 0, 0, ...]最后一列中缺少的元素应为零。我试图将它们分别放置,但是n> = 100,因此手动填充零会花费很长时间。我该怎么做呢?

为numpy数组编辑相同的问题,这是我真正拥有的。

约翰1024
>>> a = [1, 2, 3, 4]
>>> [ a[i:] + i*[0] for i in range(len(a))]
[[1, 2, 3, 4], [2, 3, 4, 0], [3, 4, 0, 0], [4, 0, 0, 0]]

怎么运行的

要获取第i个移位列表,我们可以使用:a[i:] + i*[0]列表推导针对我们需要的所有i重复执行此操作。

使用numpy

+对于numpy数组,意味着与普通python列表不同。因此,上述代码需要进行调整以使其适应numpy:

>>> import numpy as np
>>> a = np.arange(1, 5)
>>> [ np.concatenate((a[i:], np.zeros(i))) for i in range(len(a))]
[array([1, 2, 3, 4]),
 array([2, 3, 4, 0]),
 array([3, 4, 0, 0]),
 array([4, 0, 0, 0])]

如果您希望最终结果是一个numpy数组:

 >>> np.array([np.concatenate((a[i:], np.zeros(i))) for i in range(len(a)) ])
array([[ 1.,  2.,  3.,  4.],
       [ 2.,  3.,  4.,  0.],
       [ 3.,  4.,  0.,  0.],
       [ 4.,  0.,  0.,  0.]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获得任意嵌套的列表列表中的元素总数?

来自分类Dev

如何在列表中添加元素以填充内容以实现元素数量相等的列表?

来自分类Dev

如何替换列表(列表列表)中的列表内的元素?

来自分类Dev

更改列表列表中的元素以匹配 python 中的不同列表

来自分类Dev

Pop()列表列表中列表的元素

来自分类Dev

如何在 numpy 或列表列表中填充圆圈

来自分类Dev

如何从列表列表中删除重复的条目

来自分类Dev

C#如何填充列表列表

来自分类Dev

在python中填充列表列表

来自分类Dev

django中列表列表的排名和计数元素

来自分类Dev

删除列表列表中的重复项

来自分类Dev

如何从R中的列表列表中提取元素?

来自分类Dev

如何在Python的列表列表中对元素进行分组?

来自分类Dev

如何在python中拆分列表列表的元素?

来自分类Dev

如何从列表列表中删除“无”元素

来自分类Dev

R中列表列表中的元素

来自分类Dev

swi-prolog:如何通过子列表的NTH元素对列表列表进行排序,允许重复

来自分类Dev

如何遍历列表列表列表列表列表... Python中的坐标对列表列表?

来自分类Dev

根据内部列表元素的比较从列表列表中删除重复项

来自分类Dev

Python:更改列表列表中的元素

来自分类Dev

在列表列表中查找元素

来自分类Dev

Prolog-列表列表中的元素

来自分类Dev

反转python列表列表中的元素

来自分类Dev

从列表列表中返回元素-prolog

来自分类Dev

在列表列表中查找元素

来自分类Dev

在列表列表中搜索元素

来自分类Dev

从列表列表中获取元素ocaml

来自分类Dev

列表列表中的元素彼此相乘

来自分类Dev

对列表列表中的元素重新排序

Related 相关文章

热门标签

归档