如何使用整数从列表中获取字符串?

时间:2018-08-05 12:48:59

标签: python list variables integer

如何使用整数从列表中获取字符串?

我尝试了这个,但是却给出了一个错误:

list = ['1', '2', '3', '4']
listlength = (len(list) + 1)
int1 = 1
int2 = 1
while (int1 < listlength):
    int2 = list[int1]
    print(int2)
    int3 = (int1 + 1)
    int1 = (int3)

在我试图将int2设置为list的一部分的那一行上,因为int1为1,如果int1为2 ,我想要2。代码是我在计算机上进行设置的方式,因此无法正常工作。它只是这样说:

    int2 = list[int1]
IndexError: list index out of range

1 个答案:

答案 0 :(得分:1)

Python使用以开头的索引。列表的索引从0到3,而不是1到4。您的代码假定后者为true,并将listLength设置为 5 ,因此当int = 4那么int1 < listlength为真,但list[4]失败,因为该索引不存在。

int1开始0,然后改用listlength = len(list),从0到3。

请注意,Python有更好的工具来遍历列表。使用for statement直接在值上循环:

for int2 in list:
    print(int2)

这更简单,而且出错的可能性较小。

请注意,使用名称list作为变量不是一个好主意,因为这会掩盖内置的list类型。您最好使用其他名称:

values = ['1', '2', '3', '4']
for value in values:
    print(value)

或者,如果您必须使用while

values = ['1', '2', '3', '4']
values_length = len(values)
index = 0
while index < values_length:
    value = values[index]
    print(value)
    index = index + 1