显示索引超出范围的列表更新语句
List updation statement showing index out of range
List=eval(input('enter list of numbers and string :'))
for x in range(1,len(List)+1,2):
List[x]=List[x]*2
print(List)
我想更新奇数索引处的值,但是,为什么我不知道语句 3 正在生成错误**List[x]=List[x]2 显示错误-索引超出范围**
您的代码存在三个问题:
用户输入的 eval()
是 risky business。请改用 ast.literal_eval()
。
- 您的
for
循环有一个 off-by-one 错误。请记住,数组索引在 Python. 中从零开始
List
不是一个好的变量名,因为它与 typing
模块中的 List
冲突。改用 lst
之类的东西。
import ast
lst = ast.literal_eval(input('enter list of numbers and string :'))
for x in range(0, len(lst), 2):
lst[x] = lst[x] * 2
print(lst)
List=eval(input('enter list of numbers and string :'))
for x in range(1,len(List)+1,2):
List[x]=List[x]*2
print(List)
我想更新奇数索引处的值,但是,为什么我不知道语句 3 正在生成错误**List[x]=List[x]2 显示错误-索引超出范围**
您的代码存在三个问题:
-
用户输入的
eval()
是 risky business。请改用ast.literal_eval()
。- 您的
for
循环有一个 off-by-one 错误。请记住,数组索引在 Python. 中从零开始
List
不是一个好的变量名,因为它与typing
模块中的List
冲突。改用lst
之类的东西。
import ast
lst = ast.literal_eval(input('enter list of numbers and string :'))
for x in range(0, len(lst), 2):
lst[x] = lst[x] * 2
print(lst)