5

我正在使用一个返回字符串的类实例。

我调用了这个实例两次并将返回的值收集到一个列表中。然后我尝试使用 .sort() 对这两个字符串进行排序。但是,当我这样做时,它会抛出一个错误,指出类型是(Nonetype - 将其视为对象)。

我确实检查了类型(列表的元素),它返回类型“字符串”。我不知道发生了什么事。基本上在空闲时它说我在一个列表中有字符串.. 但是在运行时它会抛出一个错误,指出 NoneType (这些字符串的列表)是不可迭代的。

这是一个例子:

list_of_strings = [class_method(args), class_method(another_args)] ## this instance returns string

print type(list_of_strings[0])  #prints type 'str'

错误:

list_sorted = list(list_of_strings.sort())
TypeError: 'NoneType' object is not iterable

非常感谢!

乔治

4

2 回答 2

3

从python文档

7.sort()和方法在reverse()对大列表进行排序或反转时修改列表以节省空间。提醒您,它们是按副作用操作的,它们不会返回已排序或反转的列表。

使用sorted()

list_sorted = list(sorted(list_of_strings))
于 2013-06-01T21:18:26.203 回答
0

你应该使用sorted()

list_sorted = list(sorted(list_of_strings))

您现在正在调用哪个是调用的list()结果。None.sort()

于 2013-06-01T21:18:52.333 回答