问题标签 [argument-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 投票
1 回答
51 浏览

python - 哪些数据模型方法实现了参数关键字解包?

我有一个类,我希望能够使用*argsand**kwargs语法将其解压缩到参数列表中。

我可以*foo通过定义来实现__iter__

但是我一直无法弄清楚如何实现**foo. 需要实施哪些方法来做到这一点?

0 投票
1 回答
1486 浏览

python-3.x - 如何在解包过程中删除 struct python 中的填充

当我在结构中使用打包时,我发现在解包过程中我解包字节对象后有额外的字符。

例如打包前: c = b'CONNECT' 使用 struct 解包后得到的值为b'CONNECT\x00\x00\x00\x00\x00'

这是我的代码:

b'CONNECT'解压后如何获取。

0 投票
2 回答
89 浏览

python - python变量解包失败

7.10,由于某种原因,以下代码片段正在产生错误......

这引发了一个异常:

我相信这段代码在语法上应该是正确的,但是,我似乎无法解压缩我的 dict 以传递给任何函数,不知道为什么这不起作用。

0 投票
0 回答
803 浏览

python - 新样式 getargs 格式,但参数不是元组错误调用洪水填充

我不确定发生了什么。这东西以前有效,现在无效。

我明白了SystemError: new style getargs format but argument is not a tuple。问题出在pixel[x, y] = value并提到有问题的代码行是 PIL\ImageDraw.py",第 349 行,在 floodfill

这是一个元组。我什至尝试将中间替换为(int(middle[0]), int(middle[1])但得到了相同的结果。在文档xy中是:

xy - 种子位置(2 项坐标元组)。

这正是我所做的。

有什么建议么?

0 投票
2 回答
1634 浏览

python - 在 for 循环中从列表中解压缩多个参数

我有两个清单。

我试图让这些值在 for 循环中解压缩。

我意识到此迭代将在每次迭代时覆盖StartdateEnddate的值,但现在我只是试图成功解压缩每个列表的元素。

我收到以下错误:

我以为我在拆包2?(d1 和 d2)

0 投票
6 回答
176 浏览

python - 为什么 max(*list) 和 max(list) 在 python 中做同样的事情?

请参见下面的示例:

解包运算符在这里没有效果,我正在尝试解包列表并获得矩阵的最大值(两个暗列表)。

0 投票
1 回答
1403 浏览

python - 使用双星运算符从字典中命名元组:嵌套字段是否也解包?

我有两个类:TopNested,要创建它们,我需要提供TopDefinitionNestedDefinition对象,它们是NamedTuple类型(类型注释需要定义)。并且 Class Top包含属性,它是嵌套实例对象的列表。

有一个嵌套的 dict 用于创建命名元组的实例。输入字典item如下所示:

然后使用代码解包创建类TopDefinition的实例

q = Top(top=TopDefinition(**item)) 用作创建类Top实例的输入。这很好用,我稍后可以在输入参数的q类类型和值中看到:

该 TopDefinition 实例已正确创建为命名元组,其字段为:t1、t2、t3。

问题是:t3 类型是什么?
它是字典列表还是命名元组列表(隐式转换,因为它在TopDefinition中定义为List[NestedTuple]
输出表明这是字典列表,因为当我遍历 t3 时,显示类型和价值,我看到:

然后我{'n1': 'aaa', 'n2': 1}用 ** 解包以创建工作正常的NestedDefinition实例,所以它应该是一个字典。
另一方面,mypy(带有选项--ignore-missing-imports --strict)error: Argument after ** must be a mapping对我来说这意味着它不是字典。

完整的代码,运行如下:

0 投票
1 回答
211 浏览

c++ - 将元组解包到成员初始化或超类构造函数

是否可以通过使用元组中包含的参数来初始化类的成员(或调用超类构造函数)?std::make_from_tuple()请注意,我知道std::apply()但它们不能在这种情况下使用。

考虑sometype不可复制的,不可默认构造的,不可移动的,不可分配的,没有其他任何东西。实例化它的唯一方法是使用作为std::tuple. 这可以做到吗?

我的尝试失败了,因为显然“扩展模式不包含参数包”,尽管 index_sequence 生成应该是一个。

0 投票
1 回答
37 浏览

python - 迭代变量参数的元素

我有一个函数scalar_func(*args),它接受一个可变数标量数。它对它们进行一些数学运算并输出一个标量。作为一个简单的例子,我们假设scalar_func将每个数字相乘:

我想scalar_func处理列表。为此,我制作了另一个函数list_func(*args)。它接受可变数量的列表并创建一个新列表,如下所示:

显然,这个函数只是伪代码。我该如何实施list_func

0 投票
2 回答
129 浏览

python - 使用 print() 函数显示带有自定义分隔符的列表项

有人可以向我解释为什么当我尝试使用星号将解压缩的数据传递到打印函数时,可选参数“end”仅适用于最后一个列表的元素,其余的是默认值(空格)

我期望a-b-c-而不是a b c-