2024-05-19 02:53:47 发布
网友
我正在尝试迭代具有类似名称的对象方法列表。我有什么聪明的办法能做到这一点吗。我有类似的对象,但想使用一个迭代器,而不仅仅是一个函数列表。你知道吗
dog1.feed() dog2.feed() dog3.feed() dog4.feed() dog5.feed() ...
所有本地对象名都在locals():
locals()
for i in range(1,6): locals()["dog" + str(i)].feed()
不要使用字符串连接来执行基本上是eval的操作。把你的狗列在清单上:
eval
for dog in [dog1, dog2,...,dogn]: dog.feed()
或者,稍微滥用列表理解语法:
[dog.feed() for dog in [dog1, dog2,...,dogn]
所有本地对象名都在
locals()
:不要使用字符串连接来执行基本上是
eval
的操作。把你的狗列在清单上:或者,稍微滥用列表理解语法:
相关问题 更多 >
编程相关推荐