如何为python 3创建一个空列表?
这段代码有什么问题,因为我需要创建一个空列表,而我不能创建一个空列表如何为python 3创建一个空列表?,python,macos,Python,Macos,这段代码有什么问题,因为我需要创建一个空列表,而我不能创建一个空列表 def empty_list(): empty_list=[] return empty_list def text_to_list(the_text): empty_list=empty_list() empty_list[:0]=the_text return empty_list # The print to show the result. print(text_to_list(
def empty_list():
empty_list=[]
return empty_list
def text_to_list(the_text):
empty_list=empty_list()
empty_list[:0]=the_text
return empty_list
# The print to show the result.
print(text_to_list("ABCD"))
结果是:
Traceback (most recent call last):
File "./prog.py", line 9, in <module>
File "./prog.py", line 5, in text_to_list
UnboundLocalError: local variable 'empty_list' referenced before assignment
回溯(最近一次呼叫最后一次):
文件“/prog.py”,第9行,在
文件“/prog.py”,文本列表第5行
UnboundLocalError:赋值前引用的局部变量“empty_list”
该问题是由变量和函数之间的共享名称引起的。Python在函数执行之前检查函数中创建的变量。在调用时,解释器已经将空\u列表
视为一个变量
解决方案
重命名函数或变量。一种可能的解决方案是调用list()构造函数,在代码中使用它看起来像
empty_list = list()
这将创建一个空列表。您实际上不需要函数来执行此操作,但如果您想使用代码,请确保函数和变量的名称不相同。在您的代码中,
empty_list
用于几乎所有令人困惑的事情
def empty_list():
empty_list=[]
return empty_list
def text_to_list(the_text):
empty_list=empty_list()
empty_list[:0]=the_text
return empty_list
# The print to show the result.
print(text_to_list("ABCD"))
def empty_list():
a_list=[]
return a_list
def text_to_list(the_text):
another_list = empty_list()
another_list[:0] = the_text
return another_list
# The print to show the result.
print(text_to_list("ABCD"))
另一方面,您可以在一行中完成以上所有操作,因为Python可以轻松地将字符串转换为列表,如下所示:
>>> list("ABCD")
['A', 'B', 'C', 'D']
简单地
empty_list=[]
将创建一个空列表,您可以在其中添加和调用您的函数名和返回变量名相同。还有,为什么你需要一个函数来完成这个任务,而不是只做
empty\u list=list()
@not\u speshal请不要将答案作为注释发布。只需添加一个答案,这样问题就可以标记为已回答。或者只需空\u list=[]
,在这里创建函数是没有意义的