我有这个向量
v = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20)
我想删除 2 和 3 的倍数。我该怎么做?
我尝试这样做,但我没有工作:
import numpy as np
V = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20)
Mul3 = np.arange(1,21,3)
Mul2 = np.arange(1,21,2)
V1 = V [-mul2]
V2 = V1 [-mul3]
最佳答案
我假设 vector
指的是您使用 ()
设置的元组。
您可以使用 list comprehension在两个条件下,使用 modulo
运算符,您可以阅读 here :
res = [i for i in v if not any([i % 2 == 0, i % 3 == 0])]
返回
[1, 5, 7, 11, 13, 19]
这将返回一个标准的 Python 列表;如果你想要 np 数组或 sth,只需更新你的问题。
关于python - 如何从向量中删除数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45145640/