Python程序在追加到lis时返回None类型数组

2024-04-28 15:27:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我的python程序有一个小问题。在这种情况下,我试图在数组中使用myarray.append(),但在python shell中,当我在python shell中执行附加测试时,它会告诉我:

>> l.append('1') # l is already defined

Traceback (most recent call last):

  File "<pyshell#1>", line 1, in <module>

    l.append('1')

AttributeError: 'NoneType' object has no attribute 'append'
>>

我很困惑这个问题,但无论如何,我会让你看看代码:

^{pr2}$

*我相信这是问题的主要因素

我可能只是疯了还没意识到,但如果你能帮忙,请帮我。在

另外,当我在print l上运行程序时,它只输出None


Tags: 程序mostis情况数组shellcallfile
2条回答

你的问题出在

l = l.sort()

方法的作用是:对列表进行适当的排序;对列表本身进行重新排序,而不是返回一个新列表。该方法返回None,然后将其赋值给l。所以你只需要删除任务。在

另一种选择是使用

^{pr2}$

它将实际生成原始列表的副本,其中元素按排序顺序排列。在

在python中,可以使用list comprehension填充列表,如下所示

l = [str(i) for i in range(0, 1000)]
l > ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ..]

如果您在列表中使用sort,它将返回None,这是python中的一个指示符,表示它在适当的位置执行操作。因此,要打印排序列表,只需执行以下操作:

^{pr2}$

相关问题 更多 >