【问题标题】:How to make a triangle of arrays?如何制作三角形的数组?
【发布时间】:2022-08-12 18:00:13
【问题描述】:

我想创建这个:

1 0 0 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
1 1 1 1 0 0
1 1 1 1 1 0
1 1 1 1 1 1

但是,我更喜欢使用库来创建它,我该怎么做呢?

注意:NumPy 也可用于创建数组。

SO上有很多答案,但他们都提供了答案不要使用图书馆,我无法在网上找到任何东西来制作这个!

  • np.triunp.tril
  • 为什么需要使用库?
  • np.tril(np.ones((6, 6)))
  • @YevhenKuzmovych 只是好奇他们会如何提供帮助,我更喜​​欢使用它们

标签: python arrays numpy


【解决方案1】:

使用numpy.tri

句法:

numpy.tri(N, M=None, k=0, dtype=<class 'float'>, *, like=None)

基本上,它创建了一个数组,其中1 位于给定对角线及其下方,0 位于其他位置。

例子:

import numpy as np
np.tri(6)

>>>
array([[1., 0., 0., 0., 0., 0.],
       [1., 1., 0., 0., 0., 0.],
       [1., 1., 1., 0., 0., 0.],
       [1., 1., 1., 1., 0., 0.],
       [1., 1., 1., 1., 1., 0.],
       [1., 1., 1., 1., 1., 1.]])

【讨论】:

    【解决方案2】:

    您可以使用np.tril

    >>> np.tril(np.ones((6, 6), dtype=int))
    array([[1, 0, 0, 0, 0, 0],
           [1, 1, 0, 0, 0, 0],
           [1, 1, 1, 0, 0, 0],
           [1, 1, 1, 1, 0, 0],
           [1, 1, 1, 1, 1, 0],
           [1, 1, 1, 1, 1, 1]])
    

    【讨论】:

      【解决方案3】:

      np.tril 和 np.ones 会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多