gpt4 book ai didi

python - 索引与在另一个列表中使用一个列表索引不同步

转载 作者:行者123 更新时间:2023-11-30 23:37:32 26 4
gpt4 key购买 nike

来自 R,这很难理解。从列表中获取元素从位置 0 开始。问题在于,使用一个列表从另一个列表中选择项目的运行速度不同。

list1 = [1,2,3,4]

list2 = [1,2,3,4]

for x in range(0, len(list1)):
print(list1[list2[x]])

这将导致:

>> 2
>> 3
>> 4
>> IndexError: list index out of range

当我在 list1 的开头添加一个额外的项目,并在 list2 的末尾添加一个项目时,问题就停止了(仅仅因为它们不是像这样同步的)。

显然我还不熟悉这种语言,使用一个列表中的值从另一个列表中选择值的正确方法是什么?

这是正确的思考方式吗?

for x in range(0, len(list1)):
print(list1[list2[x]-1])

最佳答案

Python 基于 0 索引。 seq[0]seq 中的第一个元素。

R 是基于 1 索引的。

所以,是的,在 python 中你可以使用

list1 = [1,2,3,4]
list2 = [1,2,3,4]
for x in range(0, len(list2)):
print(list1[list2[x]-1])
  • 范围应达到 len(list2),而不是 len(list1)
  • 此外,range(0, len(list2))range(len(list2)) 相同。什么时候range 仅传递一个参数,它被解释为 stop值,默认起始值​​为0。
<小时/>

请注意,在 Python 中

for x in range(...):

通常是可以避免的,如果可以的话,最好是避免。相反,你可以写

for item in list2:
print(list1[item-1])

item将分配给list2中的每个项目。

关于python - 索引与在另一个列表中使用一个列表索引不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15455222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com