python – 为什么从类实例返回的字符串保持NoneType类型,即使IDLE说它是一个字符串?

前端之家收集整理的这篇文章主要介绍了python – 为什么从类实例返回的字符串保持NoneType类型,即使IDLE说它是一个字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用一个返回字符串的类实例.

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

我确实检查了类型(列表的元素),并返回了类型“string”.我不知道发生了什么.基本上在空闲时它表示我在列表中有字符串..但是在运行它时会抛出一个错误,说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

非常感谢!

乔治

解决方法

从python documentation

7. The sort() and reverse() methods modify the list in place for economy
of space when sorting or reversing a large list. To remind you that
they operate by side effect,they don’t return the sorted or reversed
list.

使用sorted():

list_sorted = list(sorted(list_of_strings))

猜你在找的Python相关文章