用一个命令创建两个对象可以吗?

2024-04-26 00:33:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建两个空列表对象。我试着用

vList,sList = [],[]

这似乎奏效了。我从未在任何手册中看到过这一点(但我的Python仍然非常基础)。对于非空列表,我会说这样做会损害可读性,但是对于相同的空列表这样做可以吗?这被认为是不好的做法还是有不良副作用?你知道吗

对于(空)字符串也一样吗?你知道吗


Tags: 对象字符串列表手册基础副作用可读性我会
2条回答

没有不良副作用,除非你使用

vList = sList = []

它将两个变量引用到同一个列表。你知道吗

我不认为PEP8对此有任何说明,但我想说,将作业分成两行会读得更好。你知道吗

但是,正如@gorlum0所提到的,如果对象是相关的并且相对简单,那么最好使用tuple解包。如果它们是不相关的,那么读者可能会很困惑,试图理解为什么你把它们放在一行。你知道吗

这是正确的方法。即使多重赋值对于像您这样的简单情况似乎不是很有用,也可以考虑这样的情况(将稍微复杂的序列解包):

>>> 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')

如果你记住右手侧在任何任务发生前都经过了充分的评估,就不会有有害的副作用。你知道吗

相关问题 更多 >