如何使用整数从列表中获取字符串?
我尝试了这个,但是却给出了一个错误:
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
答案 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