Python中有没有办法在创建列表时强制生成新对象?
假设我有一个类Test,我想在列表中存储5个对象.
我使用以下代码生成列表:
myList = [Test()] * 5
Run Code Online (Sandbox Code Playgroud)
使用此代码,python只创建1个对象,存储5次.
当然我可以使用for循环来生成列表.但是在我的真实程序中,这会极大地破坏代码,因为我有大约30个列表,它们部分嵌套在另一个列表中.
那么是否有一种快速的方法(可能是一个单行)强制python在每个条目中生成一个新的对象?
使用列表推导来多次执行表达式:
myList = [Test() for _ in range(5)]
Run Code Online (Sandbox Code Playgroud)
由于这会忽略range()生成的索引,因此我将for循环目标命名_为信号,忽略变量 ; 这只是一个命名约定.