问题标签 [iterable-unpacking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2125 浏览

python - python中的解包错误

我正在制作一个脚本,我需要这样做:

但我得到这个错误:

data是这样构建的:

csv文件的一个小样本:

200.35.126.30;dnscan01.mnc0004.mcc02de.gprs;View_Blackberry;DNSCAN01 0.0.0.0;lac.rac.prueba;View_Blackberry;DNSCAN01 200.35.126.29;dnscan02.mnc0004.mcc02de.gprs;View_Blackberry;DNSCAN01 127.0.0.1;localhost.mnc0004.mcc02de.gprs;View_Blackberry;DNSCAN01

当我做:

我只得到 4 个,我可以假设我的列表数据的任何位置都是 4 个成员列表。

我不明白为什么它告诉我它需要超过 3 个成员,而我给它 4 个。

这段代码发生了什么?

0 投票
3 回答
1817 浏览

python - 多个值要解压

我运行这段代码:

并得到这个错误:

0 投票
1 回答
336 浏览

python - 如何在 Python 中调用外部方法时解包元组?

我在我的类中多次调用外部库的方法,如下所示:

包含该with语句的行困扰着我,因为它们每次都需要将常量作为参数传递。我想将参数存储在像元组这样的预定义数据结构中,并将其传递给外部库。

0 投票
2 回答
206 浏览

python - 如果我开始返回更多数据,则返回不会破坏客户端代码的不可打包值的可迭代

假设您正在编写一个打算公开的 API。API 中的函数quux返回一个列表或元组生成器,例如yield (foo, bar).

客户端代码通常会像这样使用它:

现在,假设将来您可能想开始与和baz一起返回。你现在不想退回它,因为 YAGNI 直到证明不是这样。foobar

(尝试)确保未来这样的更改不会破坏客户端代码的最佳方法是什么?

我知道 Python 3 允许人们做类似的事情,for foo, bar, *idontcare in quux(whatever)并且在 Python 2 中,人们总是可以编写一个实用函数(像这样使用for foo, bar in iterleft(quux(whatever), 2)):

但我想知道是否有更好的方法来做这样的事情。

0 投票
1 回答
388 浏览

c++ - std::tie 的异常安全性如何?

std::tie返回一个引用元组,因此您可以执行以下操作:

这与foo, bar, baz = (1, 2, 3)Python 中的类似。

如果其中一项任务抛出,应该发生什么,如下例所示?

它会打印 1337 或 42,还是未指定?

0 投票
1 回答
136 浏览

python - 为什么解包比传入列表更受欢迎

解包参数列表:

vs 首先发送列表:

0 投票
1 回答
432 浏览

python - python 元组和列表。拒绝转换的元组

我需要知道为什么会失败:

当我运行代码时,我收到以下消息: <snip> ConfigurationError.py", line 7, in __init__ self.args[0]=self.__prettyfi(self.args[0]) TypeError: 'tuple' object does not support item assignment

我编辑了行号。以匹配此代码示例。

我不明白为什么self.args = list(args)没有正确地将元组解包到第 5 行的列表中。

(我有一个偷偷摸摸的怀疑我没有记住一些超级基本的东西......)

0 投票
2 回答
106 浏览

python - 将可迭代解包到其他可迭代中?

从 ASCII 文件中读取数据时,我发现自己在做这样的事情:

如果我每行有确定数量的元素(我这样做)¹并且只有一个多元素条目要解包,我可以使用类似 `(a, b, *c, d, e) = ...' (扩展的可迭代拆包)。

即使我不这样做,我当然也可以用星号组件替换上面示例中的两个多元素条目之一:(a, b, *c, d, e, f1, f2) = ....

据我所知,itertools这里没有立即使用。

由于我可能不知道的原因,上面的三行代码是否有任何替代方案可能被认为是“更 Pythonic”?

¹它是确定的,但每行仍然不同,模式对于numpys 函数loadtxtgenfromtxt.

0 投票
3 回答
3983 浏览

python - Python:为什么我不能将元组解包到字典中?

为什么这不起作用?:

有没有更好的方法来实现我想要实现的目标?

0 投票
1 回答
396 浏览

python - 如何在 python 列表解包中包含换行符?

很好但是

不是很好。Python 通常很好地支持逗号后的换行符,但我无法弄清楚这个的语法。像这样的东西会很好:

PEP 8 处理这个问题的方法是什么,因为长线是反 PEP 8 的?