Python 如何在for循环中分配索引?

Python 如何在for循环中分配索引?,python,Python,我想用姓名打印130以下的号码 我有这样的数据框 name = ["a","b","c","d","e","f","g","h"] h = [125,120,135,115,115,130,145,130] 我已经试过我的代码了 for i in h: if i < 130: un_130 = [name[i], h[i]] #print(i, un_130) print(i) 但是当我尝试使用print(I,un_30)中

我想用姓名打印130以下的号码

我有这样的数据框

name = ["a","b","c","d","e","f","g","h"]
h =    [125,120,135,115,115,130,145,130]
我已经试过我的代码了

for i in h:
    if i < 130:
        un_130 = [name[i], h[i]]
        #print(i, un_130)
        print(i)
但是当我尝试使用
print(I,un_30)
中的名称打印时,出现了索引错误

有什么建议吗?

您可以使用enumerate

for idx,i in enumerate(h):
    if i < 130:
        print(name[idx],h[idx])
对于idx,枚举中的i(h):
如果i<130:
打印(名称[idx],h[idx])
注意:只要
name
h
具有相同的长度

就可以使用enumerate

for idx,i in enumerate(h):
    if i < 130:
        print(name[idx],h[idx])
对于idx,枚举中的i(h):
如果i<130:
打印(名称[idx],h[idx])

注意:只要
name
h
具有相同的长度

您就可以使用
zip()
并行迭代:

邮政编码中的i,n(h,名称): 如果i<130: 打印(i,n)
(我并不特别喜欢变量的命名,尤其是
I
,但我选择与问题中使用的命名保持一致。)

您可以使用
zip()并行迭代:

邮政编码中的i,n(h,名称): 如果i<130: 打印(i,n)

(我并不特别喜欢变量的命名,尤其是
I
,但我选择了与问题中使用的命名保持一致。)

好的,所以它不像前面提到的那样非常python,但是您可以简单地使用python的range方法进行迭代,以模拟for循环的行为,就像其他编程语言一样:

for i in range(0, len(h), 1):
if h[i] < 130:
    un_130 = [name[i], h[i]]
    print(i, un_130)
    print(i)
适用于范围内的i(0,len(h),1):
如果h[i]<130:
un_130=[name[i],h[i]]
打印(i,un_130)
印刷品(一)

但是,其他答案中提到的其他函数(如enumerate或zip)通常更适合在python中使用。

好的,因此它不像前面提到的那样非常python,但您可以简单地使用python的range方法进行迭代,以模拟for循环的行为,就像其他编程语言一样:

for i in range(0, len(h), 1):
if h[i] < 130:
    un_130 = [name[i], h[i]]
    print(i, un_130)
    print(i)
适用于范围内的i(0,len(h),1):
如果h[i]<130:
un_130=[name[i],h[i]]
打印(i,un_130)
印刷品(一)

但是,其他答案中提到的其他函数,如enumerate或zip,通常更适合在python中使用。

在发布之前运行代码。在发布之前运行代码。这不是等效的,python中的
for
循环在其他语言中的作用类似于
for each
循环。您可以为行为模拟经典的
,但这并不是真正的python方式。正如其他答案所显示的那样,在这个例子中这是不必要的。哦,我同意这不是“蟒蛇式的方式”,但我只是试图复制这种行为。请原谅我对python的一些独特功能缺乏了解。也许在你的帖子中有一个更好的方法,你可以模仿你想使用的行为,但是在python中,你更喜欢的方法是“某某”。在我的观点中,这将是一个非常好的答案。它不是等价的,python中的
for
循环在其他语言中就像是
for each
循环。您可以为
行为模拟经典的
,但这并不是真正的python方式。正如其他答案所显示的那样,在这个例子中这是不必要的。哦,我同意这不是“蟒蛇式的方式”,但我只是试图复制这种行为。请原谅我对python的一些独特功能缺乏了解。也许在你的帖子中有一个更好的方法,你可以模仿你想使用的行为,但是在python中,你更喜欢的方法是“某某”。那么,在我的演讲中,这将是一个非常好的答案。请问您为什么不喜欢变量命名?
i
不是一个众所周知且常用的索引变量名吗?@user3053452原因是
i
不是索引。@user3053452它是在其他语言中,作为计数器变量,但在这种情况下,没有像经典的
中那样进行计数。
loopah我的错,我在上面的答案中查看
enumerate()
已被使用,但有点混乱。你完全正确,变量的命名很糟糕。请问你为什么不喜欢变量命名?
i
不是一个众所周知且常用的索引变量名吗?@user3053452原因是
i
不是索引。@user3053452它是在其他语言中,作为计数器变量,但在这种情况下,没有像经典的
中那样进行计数。
loopah我的错,我在上面的答案中查看
enumerate()
已被使用,但有点混乱。你完全正确,变量的命名很糟糕。