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