函数中多个值之间的 AND 运算符

AND operator between multiple values in a function

提问人:lilxy 提问时间:12/5/2021 更新时间:12/6/2021 访问量:120

问:

我有一个函数,它接受两个列表值并返回它们的 AND 运算符输出。现在,我需要使函数采用多个值并获取输出。我现在已经为两个标志值列表做了这个:

def and_op(lst1, lst2):
    return np.array([(lst1 & lst2) for lst1,lst2 in zip(lst1, lst2)])

and_op([0,0,1,1,0], [1,0,1,1,1])

输出:

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

我现在需要更改此函数,以便动态给定参数,并且参数的数量可以超过两个。

and_op([0,1,1,0], [1,1,0,1], [1,1,1,0], [0,1,0,1])

如何更改函数以便获得上述情况的输出?我想到了 *args,但对如何使用它和运算符感到非常困惑。

Python args 和运算符

评论

0赞 Ratery 12/5/2021
所有数组的长度都相同吗?
0赞 lilxy 12/6/2021
是的。对不起,错过了这个细节。
0赞 Ratery 12/6/2021
嗯,谢谢。我回答了你的问题。

答:

1赞 Ratery 12/6/2021 #1

使用函数并迭代你的参数。all

def and_op(*args):
    return np.array([int(all([arg[i] for arg in args])) for i in range(len(args[0]))])

评论

1赞 lilxy 12/6/2021
只是有一个小小的疑问。如果我必须对手术室操作做同样的事情,那会有什么变化?
0赞 Ratery 12/6/2021
那么你应该使用函数而不是.这很容易,不是吗?anyall