Python将对象的副本分配给变量

时间:2014-08-11 19:20:23

标签: python

不是技术问题,只是编码风格的问题。

对我而言,将变量语法的相同值分配为a,b = 0,而不是a,b = 0,0更有意义,但它就是它。如果对象是数字或字符串,至少你可以通过做a = b = 0绕过它,但今天我遇到了需要10个相同列表的情况。所以我喜欢: list1,list2 ... = big_list [:],big_list [:] ....

如此大而丑陋。你会如何根据不重复自己的原则做更多的事情?

2 个答案:

答案 0 :(得分:4)

可以执行以下操作:

list1, list2, list3 = (big_list[:] for _ in range(3))

这是否有所改善值得商榷。如果您需要许多并行列表,也许您应该将它们保存在集合中而不是单独的变量中?

答案 1 :(得分:0)

就个人而言,我会使用像

这样的词典理解
listdict = { key: value for key, value in range(1, 11), [big_list[:] for x in range(10)] }

哪个会给你一个字典,其中包含使用1到10键的参考列表(即listdict [1],listdict [2] ......等)