我将类的实例附加到Python中的列表中,如下所示:
a_list = []
a_list.append(AClass())
(至少有一个附加)。
尝试遍历列表时:
for a in a_list:
# Do something to know if loop runs...
pass
它似乎没有运行循环。
打印列表长度时,它为0。
该列表作为类*实例的属性附加(其文件包含" AClass"导入的文件)。该列表在第三个文件的类实例中循环(并经过长度检查),该类实例也附加在第一个类*的实例上。
答案 0 :(得分:1)
这很奇怪,这就是我得到的:
class AClass():
pass
a_list = []
a_list.append(AClass())
for a in a_list:
print(a)
# <__main__.AClass object at 0x10b510c18>
print(len(a_list))
# 1
a_list.append(AClass())
print(len(a_list))
# 2
问题可能与您将列表分配为类属性有关吗? (需要查看您的代码以确认。)
答案 1 :(得分:1)
>>> class AClass(object):
... def __init__(self):
... self.a = "AClass"
...
>>> a_list = []
>>> a_list.append(AClass())
>>> a_list.append(AClass())
>>> a_list.append(AClass())
>>> for a in a_list:
... print a.a
...
AClass
AClass
AClass
>>>
使用python 2.7