Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为python 3创建一个空列表?_Python_Macos - Fatal编程技术网

如何为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=[]
,在这里创建函数是没有意义的