我有带值的数组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/