类型错误:类对象不可迭代[重复]

Posted

技术标签:

【中文标题】类型错误:类对象不可迭代[重复]【英文标题】:Type Error: Class object not iterable [duplicate] 【发布时间】:2017-03-05 12:42:27 【问题描述】:

这可能是个愚蠢的问题,但我刚开始在 Python 中学习 OOP,我正在努力学习这个:

以下代码可以正常工作:

class Name(object):
    def __init__(self):
        self.name=None

C1='Stephen Curry'
C2='Kevin Durant'
C3='LeBron James'
C4='Chris Paul'


nameList=[C1,C2,C3,C4]
nameList.sort()
for e in nameList:
    print (e)

但是,当我在 for 循环中使用 nameList.sort() 时,它给了我“TypeError: 'NoneType' object is not iterable”

class Name(object):
    def __init__(self):
        self.name=None

C1='Stephen Curry'
C2='Kevin Durant'
C3='LeBron James'
C4='Chris Paul'

nameList=[C1,C2,C3,C4]

for e in nameList.sort():
    print (e)

谢谢

【问题讨论】:

【参考方案1】:

sort 返回None,因为它就地对列表进行了排序。如果你想在一个语句中迭代一个排序列表,你应该使用sorted

for e in sorted(nameList):
    pass

【讨论】:

以上是关于类型错误:类对象不可迭代[重复]的主要内容,如果未能解决你的问题,请参考以下文章

对象之前的预期')'。类没有命名类型[重复]

多重赋值操作返回对象不可迭代[重复]

TypeError:'bool' 对象不可迭代

python面向对象面试集锦(1-23)

Java集合类

在调用API后,将JSON对象反序列化为C#类[重复]。