Python 将元组中的不同元素解压到 *args

Python unpack different elements in tuple into *args

var = ('3', [11, 13, 11, 11])

我想把它转换成这样:

3 11 13 11 11

这样我就可以将它传递给另一个函数

foo(*args):
...

您可以使用 iterable unpacking 来执行此操作。

您可以通过在将可迭代对象传递给函数时加上前缀 * 来解压它。

foo(int(var[0]), *var[1])给你想要的。

我建议使用 for 循环来检查是否有任何项目是 list,tuple,dict 的实例,这是该过程的代码:

var = ('3', [11, 13, 11, 11])
types=(list,dict,tuple)
var=list(var)
num=0
for x in var:
    item=var[num]
    num+=1
    if isinstance(item,types):
        item2=item
        for x in item:
            var.append(x)
            continue
        var.remove(item2)
    continue

这里是每行代码的解释:

types 中存储可以找到的每种可能类型的容器,这将在检查项目是否是这些 类 的实例时使用。接下来变量被转换成一个列表,因为元组是不可变的。 num是索引(计算机从0开始计数)。 for 循环只是循环遍历每个项目,然后 if 块检查该项目是否是之前在 types 变量中提到的 类 的实例。