Type Error: Class object not iterable

Type Error: Class object not iterable

这可能是个愚蠢的问题,但我刚开始在 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)

谢谢

sort returns None 因为它将列表 就地 排序。如果你想在一个语句中迭代一个排序列表,你应该使用 sorted:

for e in sorted(nameList):
    pass