【发布时间】:2015-08-13 11:41:11
【问题描述】:
假设您有一个可迭代的items,其中包含应放入队列q 的项目。
当然你也可以这样:
for i in items:
q.put(i)
但是感觉没必要把它写成两行——这应该是pythonic吗? 有没有办法做一些更具可读性的事情 - 即像这样
q.put(*items)
【问题讨论】:
-
星号语法被一些人认为是魔法。 for 循环让大多数人清楚地知道发生了什么。
-
@StefanvandenAkker 我对这个论点的回答很晚:我认为可读性是非常主观的——我猜这类问题让我感到羞耻。但是话虽如此:用星号打包/解包参数的概念自从 - 我相信 2000 年代中期左右 - 以来一直是 python 的一部分 - 其他语言也有它。甚至 JavaScript 在 2015 年也采用了该概念及其扩展运算符 - 所以我认为它并没有那么不受欢迎。