python - 如何从向量中删除数字?

标签 python numpy vector indexing multiple-select

我有这个向量

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/

相关文章:

python - io.BufferedReader peek 函数返回缓冲区中的所有文本

python - 根据连续行的空条件合并任意数量的文本列

python - bool 索引但结果是其他一些操作

python - arr = [a,b] 选择 a, x% 的时间

c++ - 指针有问题?

python - 如何使用 python 增加 Mongodb 的连接池大小

python - 在正则表达式中使用阿拉伯字母的范围

python - 使用NumPy最小化此错误功能

visual-studio - 如何搜索文件以查找整数

c++ - 加入后如何删除线程?