gpt4 book ai didi

python - 将包含整数的元组解压到列表中

转载 作者:太空宇宙 更新时间:2023-11-03 18:00:14 24 4
gpt4 key购买 nike

我正在尝试使用包含整数的元组创建一个列表

输入示例:

test1((1, 2, 3), 2, 3)

test2((5, -5), 10, 3)

test3((10.2, -2.2, 0, 1.1, 0.5), 12.4, 3)

我尝试以各种方式迭代元组,但得到“int() is not iterable error”。我尝试将变量分配给输入,但收到“'type'对象不可下标”错误。

我已经多次重写了脚本,并且没有保存以前的尝试。我在这里找到的解包方法不起作用,因为它们要求我迭代输入,而我无法做到这一点(或弄清楚如何做)。 b = [i for sub in args for i in sub]list(chain.from_iterable(args) 等都不起作用。

这是我现在拥有的

def checkio(*args):
ab, cd, ef = args
print (ab)
empty = []
empty.append(cd)
empty.append(ef)
for i in ab:
empty.append(i)
print (empty)

有点乱。我对 python 很陌生,所以我确信解决方案非常简单

最佳答案

如果您的输入与样本一样有规律,那么答案很简单;通过连接创建一个新元组:

def checkio(ab, cd, ef):
return ab + (cd, ef)

这会将一个带有 (cd, ef) 的新元组连接到现有的 ab 元组。

对于不同的模式,您需要测试这些值;如果您得到的只是元组或整数,并且元组没有嵌套,那么就很简单:

def checkio(*args):
result = []
for value in args:
if isinstante(value, tuple):
result += value
else:
result.append(value)
return tuple(result)

可以用递归对抗递归;如果元组可以包含其他元组,请使用递归函数压平它们:

def checkio(*args):
result = []
for value in args:
if isinstante(value, tuple):
result += checkio(*value)
else:
result.append(value)
return tuple(result)

关于python - 将包含整数的元组解压到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27801368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com