从numpy数组中删除子数组或将该子数组元素替换为0

2024-04-25 20:34:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组'a',我正在创建一个选择某些行和列的子数组,并将其称为数组'b'。我该如何删除或替换“a”中与“b”中的元素相同的元素?在

def seat():
    print("select your seat")
    import numpy as np
    a = np.arange(100).reshape(10, 10)
    print(a)
    l1=input("enter row number:")
    l1=int(l1)
    l=l1-1
    n1=input("enter the from column number:")
    n1=int(n1)
    n=n1-1
    p1=input("enter the to column number:")
    p1=int(p1)
    p=p1+1
    b=a[l:, n:p]
    k=b.size
    print("you have booked "+str(k)+"tickets")

    for element in b.flat:
        print("your ticket numbers are:"+ str(element))



    if a.size==0:
        print("there are no tickets left")
    return k;

Tags: the元素l1numberinputyournpcolumn
2条回答

您的代码有一些问题,需要改进。 我看到的一个问题是你可能想要:

b=a[l, n:p]

而不是

^{pr2}$

也就是说,如果我对你想要达到的目标的假设是正确的(你可以在问题中更清楚地知道这一点)。在

其他的改进如在模块级导入、将函数的内容限制为一个逻辑任务/目标、更好的命名约定等。在

现在,如果要用预订的票证更新原始数组a,可以执行以下操作:

a[l, n:p] = -1  # -1 here signifies an unavailable seat.

然后通过检查-1值来检查是否有座位。在

我知道这应该是一个评论而不是一个答案,但我没有足够的代表来添加评论。在

b=a[l:, n:p]

在我看来是错的,正如@0xc0de指出的,应该是这样。在

相关问题 更多 >