Python中的错误:名称'...'未定义
我正在用一个列表来存储一些值。
示例代码:
for i in range(3):
print i
lst[i] = i+1
print lst[i]
但是我遇到了这样的错误:
lst[i] = i+1
NameError: name 'lst' is not defined
在Python中,数组需要初始化吗?我的代码有什么问题?
4 个回答
-1
在编程中,有时候我们需要处理一些数据,这些数据可能来自不同的地方,比如用户输入、文件或者网络请求。为了让程序能够理解这些数据,我们通常需要将它们转换成一种程序能够处理的格式。
比如说,如果我们从一个网页上获取了一些信息,这些信息可能是以文本的形式存在的。为了让程序能够使用这些信息,我们需要把它们转化为程序可以理解的对象,比如数字、字符串或者列表。
这个过程叫做“解析”,也就是把复杂的东西变得简单易懂。解析之后,我们就可以对这些数据进行各种操作,比如计算、排序或者显示给用户。
总之,解析就是把数据从一种形式转换成另一种形式,以便程序能够更好地使用它们。
lst = [] for i in range(3): print i lst.append(i+1) print lst[i]
1
是的,你应该这么做。
lst=[]
for i in range(3):
print i
lst.append(i+1)
print lst[i]
2
你应该把列表初始化为一个空列表,代码是 lst=[]
lst=[]
for i in range(3):
print i
lst.append(i+1)
print lst[i]
还有一种方法可以做到;上面那5行代码其实可以用下面这一行的列表推导式来替代,除了打印的部分:
lst=[i+1 for i in range(3)]
3
这是你的代码:
for i in range(3):
print i
lst[i] = i+1
print lst[i]
这里面有两个地方是错的
1- you havn't initialize your list, the computer doesn't know yet that you are working with a list (like you do in programs where u keep track of a counter variable like count = count + i because it must have a seed value to start with)
2- you cannot append elements to a list with the assignment operator, use the append function for that.
所以这是正确的代码:
lst = []
for i in range(3):
print(i)
lst.append(i+1)
print(lst[i])
输出结果是: 0 1 2 3