类型错误:类对象不可迭代

时间:2016-10-23 18:42:43

标签: python list class oop 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'对象不可迭代”

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 个答案:

答案 0 :(得分:1)

sort会返回None,因为它会对列表进行排序。如果要在一个语句中迭代排序列表,则应使用sorted

for e in sorted(nameList):
    pass