python - 在Python中: How to use the index number in an if-statement that is nested in a for-loop?

标签 python for-loop if-statement

我的问题是关于我有一个模拟数据集,其中包含两个向量。因此,我有一个向量 vX 和一个向量 vY。我给出的问题是一个类似于我的问题的例子,因为我的主要代码太长了。它被写成一个函数,因为这就是我最终需要的。

当前的问题是我的向量是有序的。因此元素 vX[0] 应该对应于 vY[0],依此类推。我的想法是,我需要 vX 中属于某个区间的所有元素,获取它们的索引号,并用相应的 vY 值填充一个新向量。

到目前为止我已经写了这个:

vX = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
vY = [2, 14, 25, 12, 3, 52 , 5, 10, 7, 19]

vN = []

def(rndf(X, Y)):
    for i in X:
        if i in range(3, 6):
            vN.append(vY[i])
        else:
            vN = vN

vnY = rndf(vX, vY)

在这种情况下,if 语句仅适用于 vX = 3、4 和 5。然后我希望在 vN 向量中获得 vY 的相应值,即 vN = [25, 12, 3]。 希望有人理解这个问题并能够帮助我。先感谢您。

最佳答案

使用枚举

例如:

vX = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
vY = [2, 14, 25, 12, 3, 52 , 5, 10, 7, 19]    

def rndf(X, Y):
    vN = []
    for ind, i in enumerate(X):
        if 3 <= i < 6:                 #better approach as mentioned by FHTMitchell
            vN.append(vY[ind])
    return vN

vnY = rndf(vX, vY)
print( vnY )

输出:

[25, 12, 3]

关于python - 在Python中: How to use the index number in an if-statement that is nested in a for-loop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50798861/

相关文章:

python - 一维到二维数组 - python

c - 在 OpenACC 的 PGI 编译器中使用 -fast 时,如何解决循环携带的依赖关系阻止循环向量化

javascript - 如何在 HTML 中的 for 循环中使用文档

Java if-else条件改变输出颜色

java - 对我的 if 循环没有运行感到有点困惑?

java - feed方法java if语句

python - Discord.py 检查 Channel 是否为 DM

python - 基于日期时间索引和列的 Pandas 回填值

python - 配置不当 : Middleware module "django.middleware.csrf" does not define a "CsrfResponseMiddleware" class

javascript - 带嵌套 IF 语句的 FOR LOOP