问题标签 [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 投票
2 回答
49807 浏览

python - Python 3:解压列表的星号表达式

示例使用:

python文档在哪里*解释?

0 投票
3 回答
137 浏览

python - 实例'__dict__的关键字参数解包的陷阱是什么?

我试图方便地将一组参数传递给许多函数(比如 20 个)。

考虑以下 MWE(当然我并不真正考虑以这种方式进行添加):

我尝试这样做的原因是我有一堆函数都接收 4 个相同的参数,我需要在管道中处理它们,从一个函数传递到另一个函数。

暗示s总是只有相关字段是传递参数的好方法吗?

0 投票
1 回答
336 浏览

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

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

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

0 投票
2 回答
662 浏览

python - Python:使用解包星号参数从元组中解包单个字符串

在下面的代码中,我试图通过迭代作为不同长度、字符串类型的参数提供的所有单词来创建一个新单词。我在这里读到 * 运算符使其成为非关键字可选参数。

输出:

Q1:为什么不给'practice'作为最大字符串,为什么max(word1,max(t0))给tanice?

Q2: t=max(word1,max(t0)) 有效,但 max(word1,nwords) 无效。为什么&有解决方法吗?

Q3:new_word=new_word+(word1[i]+nwords[i])我希望字符串中的单个字母显示出来。期望的结果应该是“jtpaarnnaiicccteeice”,但应该是“jtaniceapracticenice”。由于 * nwords 给出了存储在元组中的第一个元素。我希望 *nwords 将其扩展为单个字符串。我怎样才能做到这一点?我的意思是,从一般意义上讲,我不知道它可能包含多少参数。

0 投票
4 回答
93343 浏览

go - 将数组解包为参数

因此,在 Python 和 Ruby 中,有 splat 运算符 (*) 用于将数组解包为参数。在 Javascript 中有 .apply() 函数。有没有办法在 Go 中将数组/切片解包为函数参数?任何用于此的资源也会很棒!

类似这样的东西:

如果我犯了句法/各种错误,我深表歉意。我是 Go 新手。

0 投票
3 回答
3432 浏览

python - 参数解包和赋值给类变量

您好我有以下代码,它试图创建一个类的实例并为其分配参数值。我正在尝试使用 *args 来执行此操作,如下所示:

我收到“元组索引超出范围”错误。正如您从注释行中看到的那样,我之前使用位置参数来完成此操作(有效),并使用如下行来执行此操作:

在这种情况下使用 *args 的正确方法是什么?我应该使用 *kwargs 吗?

0 投票
2 回答
635 浏览

python - python参数解包令人费解的行为

我在理解使用 python 中的星号运算符从列表中解包参数的过程时遇到问题。

我已经按照文档条目并尝试重新创建我自己的小例子。

所以我定义了一个简单的数字列表:

并进行了快速检查,这有效:

这(仅用于单挑):

另一方面,这个位失败

这也失败了:

我确保文档中的所有内容都有效:

它确实做到了。

我想了解从列表中解包参数的确切工作原理以及对它的期望,因为它似乎不像我想象的那么简单。

0 投票
1 回答
113 浏览

python - 函数参数解包错误

看这个例子(使用 python 2.7.6):

到这里为止,还好。但是,为什么下面的调用失败了?

0 投票
2 回答
1599 浏览

python - 解包许多返回值时行长度和格式的 Python 样式

假设该函数some_descriptively_named_function返回tuple4 个返回参数中的 4 个。我想调用some_descriptively_named_function,遵守 80 个字符的行长度限制,并将所有 4 个输出分别解压缩到一个描述性命名的变量中:

一种选择是:

但是,对于四个未打包的值,即使这样也可以将其推向行长。如果我想对每一个论点做一个简短的评论,那么把它很好地展示出来并不容易。

以下工作,但目前尚不清楚这是否被认为是好的或非常坏的。

这对行长当然有好处,但是想一想 PEP8 如何适用于行首出现的括号就很奇怪。

是否有为此建立的(希望与 PEP8 相关的)Python 样式指南?

0 投票
3 回答
66765 浏览

python - 为什么这种解包参数不起作用?

我得到一个错误type object argument after ** must be a mapping, not tuple

我有这个代码: create_character = player.Create(**generate_player.generate())

这是player.py模块:

这是generate_player.py模块:

prompt模块只是一堆raw_inputs ,它们返回字符串或整数(int for age)。

为什么它返回元组?当我print typegenerate_player模块中运行时,我得到了字符串、整数、字符串作为我的参数。