首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python循环: idx用于idx (重写javascript)

Python循环: idx用于idx (重写javascript)
EN

Stack Overflow用户
提问于 2018-05-11 10:53:29
回答 3查看 20.1K关注 0票数 0

我正在尝试重写一些Python代码到Javascript。

我想不出该怎么重写这部分:

代码语言:javascript
复制
zone_indices = [[idx for idx, val in enumerate(classified) if zone + 1 == val] for zone in range(maxz)]

idx对于idx,val:把idx放在开头是什么意思?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-05-11 11:24:53

"idx“通常是索引.的缩写。

Python循环允许直接访问嵌套列表中的项,如下所示:

代码语言:javascript
复制
>>> lst = [[1, 2], [3, 4], [5, 6]]
>>> 
>>> for a,b in lst:
        print a,b

1 2
3 4
5 6

在Python中使用枚举允许类似的事情:

代码语言:javascript
复制
>>> for idx,val in enumerate(['a','b','c']):
        print('index of ' + val + ': ' + str(idx))

index of a: 0
index of b: 1
index of c: 2

enumerate(array)在JavaScript中的等价物是array.entries(),它的使用方式与Python几乎相同:

代码语言:javascript
复制
zone_indices = []

for (let i = 0; i < maxz.length, i++) {
    for (let [idx, val] of classified.entries()) {
        if (zone+1 === val) {
            zone_indices.push(idx);
        };
    };
};
票数 5
EN

Stack Overflow用户

发布于 2018-05-11 10:56:42

假设您有一个可迭代的,并且您希望对它进行迭代,并且您只需要它的项的。您可以使用普通列表理解:

代码语言:javascript
复制
[x for x in it]

但是,如果您需要一个项的值和索引,那么您可能希望在迭代时使用enumerate。在这种情况下,它看起来是这样的:

代码语言:javascript
复制
[(ix, val) for ix, val in it]

在这里,在for关键字的左侧,您可以按任意顺序使用ixval或两者。但是在右边,val总是应该跟随ix

票数 1
EN

Stack Overflow用户

发布于 2018-05-11 10:59:50

你的代码:

代码语言:javascript
复制
zone_indices = [[idx for idx, val in enumerate(classified) if zone + 1 == val] for zone in range(maxz)]

相当于:

代码语言:javascript
复制
zone_indices = []

for zone in range(maxz):
    for idx, val in enumerate(classified):
         if zone + 1 == val:
            zone_indices.append(idx)

我想现在它肯定很容易被偷袭JS。它可能如下所示:

代码语言:javascript
复制
zone_indices = []
for(let zone=0; zone< maxz ; zone++){
    for(idx in classified){
        if (zone + 1 === classified[idx]){
            zone_indices.push(idx)
        }
    } 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50290723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档