我有带值的数组sourceArray,还有带值的数组要替换为replace。我想替换sourceArray中与to replace array中的值相等的所有值。
用Python有什么聪明的方法吗?
例如。

 sourceArray = [0,1,2,3,4,5,5,6,7]
 toReplace = [5,6]

更换后我想
 sourceArray = [0,1,2,3,4,0,0,0,7]

最佳答案

用条件表达式列出理解:

[0 if i in toReplace else i for i in sourceArray]

如果toReplace列表太大,最好将其设为set以获得O(1)查找。
例子:
In [21]:  sourceArray = [0,1,2,3,4,5,5,6,7]
    ...:  toReplace = [5,6]
    ...:

In [22]: [0 if i in toReplace else i for i in sourceArray]
Out[22]: [0, 1, 2, 3, 4, 0, 0, 0, 7]

关于python - 如何基于要替换的数组将数组中的值归零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49330129/

10-12 18:50