当前位置: 首页 > 面试题库 >

调用函数时将列表转换为* args

平光明
2023-03-14
问题内容

在Python中,如何将列表转换为*args

我需要知道,因为功能

scikits.timeseries.lib.reportlib.Report.__init__(*args)

希望将几个time_series对象作为传递*args,而我有一个timeseries对象列表。


问题答案:

您可以*在迭代器之前使用运算符,以在函数调用中对其进行扩展。例如:

timeseries_list = [timeseries1 timeseries2 ...]
r = scikits.timeseries.lib.reportlib.Report(*timeseries_list)

(请注意*之前timeseries_list

从python文档中:

如果语法*
expression出现在函数调用中,则表达式必须求值为可迭代。来自此迭代器的元素被视为附加的位置参数。如果存在位置参数x1,…,xN,并且表达式的计算结果为序列y1,…,yM,则等效于使用M
+ N个位置参数x1,…,xN,y1,…的调用。 ..,yM。

这在python教程的标题为“解包参数列表”的部分中也进行了介绍,其中还显示了如何使用字典对**操作符的关键字参数进行类似的操作。



 类似资料:
  • 我有以下代码: 这个实现可能看起来有点奇怪,但是这个例子来自一个更大的项目,其中有许多函数参数。 对于函数的第一次调用,所有操作都按预期进行,两条语句的结果相同。然而,对于第二个电话,这种行为对我来说似乎很奇怪。有人能解释一下这里发生了什么吗? 谢谢

  • 通过使用Java8流: 从性能上看,哪个更好?

  • 问题内容: 我已经搜索过了,但是不幸的是,我没有得到正确的答案。 测试一下: 但是有一个错误抛出: 如何解决呢? 更新 我需要此方法,因为有时代码中的类型太长: 我希望致电: 最后 创建这样的方法似乎是不可能的,非常感谢大家! 问题答案: 您可以调用而不用担心自己实现它,但是正如aioobe所说,由于类型擦除,您不能创建通用类型的数组。如果需要返回该类型,则需要自己创建一个类型化实例并将其传递。

  • 问题内容: 我使用一个外部模块(libsvm),该模块不支持numpy数组,仅支持元组,列表和字典。但是我的数据是二维二维数组。我如何以pythonic方式转换它,也就是没有循环。 问题答案: 您可以简单地将矩阵转换为,以证明:

  • 问题内容: 将a 转换为同时保持Queue顺序的最快方法是什么? 问题答案: 最快的方法是首先使用LinkedList,它可用作列表或队列。 否则您需要复印 注意:处理PriorityQueue时,请使用循环,轮询每个元素并添加到列表中。要列出的PriorityQueue不维护堆顺序。

  • 问题内容: 我需要将列表转换为一列熊猫数据框 当前列表(len = 3): 所需的熊猫DF(形状= 3,): 请注意,这些数字代表上述“必需熊猫” DF中的索引。 问题答案: 采用: 谢谢DYZ: