我有一个父类的列表值:遍历字典中的
class Animal(object):
animalFoods = {'Elephant': ['Grass', 'Trees'], 'Turtle': 'Fish'}
def animal_food(self):
foods = Animal.animalFoods[self.__class__.__name__]
for food in foods:
return food
然后,我有一个子类:
class Elephant(Animal):
pass
我创建一个对象:
Dumbo = Elephant()
而且尝试打印出其食物选择:
>>> print(Dumbo.animal_food())
Grass
我希望它打印出来
Grass
Trees
我看到它是如何通过寻找animalFoods
字典中的关键工作,但我不知道为什么它不值列表返回两个值。
指向额外阅读的指针只是提供了一个快速和肮脏的答案,因为这是我第一次使用超出单值的字典。
由于您已经有食物'食物= Animal.animalFoods [self .__ class __.__ name __]'的列表,因此不需要重复该列表。此外,如果你想打印列表中的项目,你可以看看[Pythonic的方式来打印列表项目](http://stackoverflow.com/questions/15769246/pythonic-way-to-print-list-items) 。或者如果你想迭代列表,那么你停止在中途的原因,正如@Alex指出的那样,以'return'结尾 –
谢谢你的额外帮助链接:) –