我想创建两个空列表对象。我试着用
vList,sList = [],[]
这似乎有效。我从未在任何手册中看到过这一点(但我的Python仍然非常基础)。对于非空列表,我会说这样做会损害可读性,但是可以使用相同的空列表吗?这被认为是不好的做法还是是否有任何不良副作用?
(空)字符串是否相同?
答案 0 :(得分:1)
这是正确的方法。即使多次赋值对于像你这样的简单案例似乎没有用,也可以考虑这样的事情(解压缩一个稍微复杂的序列):
>>> d = { 'a': 'x', 'b': 'y', 'c': 'z' }
>>> for i, (key, value) in enumerate(d.iteritems()):
... print (i, key, value)
(0, 'a', 'x')
(1, 'c', 'z')
(2, 'b', 'y')
如果您记住在进行任何作业之前对右侧进行了全面评估,则没有任何有害的副作用。
答案 1 :(得分:1)
除非您使用
,否则没有不良副作用vList = sList = []
将两个变量引用到同一个列表中。
我不认为PEP8对此有任何说法,但我会说将两个分配的分配更好。
然而,正如@ gorlum0所提到的,如果对象是相关的并且相对简单,那么使用元组解包可能更好。如果它们不相关,那么读者可能会非常困惑,试图找出你为什么把它们放在一条线上。