我有相同的元组(0,1)分配来定义3个输入值的限制:
bounds = ((0, 1), (0, 1), (0, 1))
Run Code Online (Sandbox Code Playgroud)
是否有Pythonic方法为N个输入分配相同的元组?例如:
bounds = ((0, 1), (0, 1), (0, 1), (0, 1), (0, 1), ...Nth(0, 1))
Run Code Online (Sandbox Code Playgroud)
您可以将序列相乘以获得其内容的N个浅拷贝:
bounds = ((0, 1),) * n
Run Code Online (Sandbox Code Playgroud)
这对于仅包含不可变类型的整数元组或其他不可变数据结构很好,但如果将它用于可变数据结构(如列表),则会引起令人惊讶的行为 - 您会获得对同一列表的n个引用序列,因为它是浅层副本.在这种情况下,理解是创建n个独立对象的最惯用的方法:
mutable_bounds = [[0, 1] for _ in range(n)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |