如何在Python函数中使用zip()返回一些浮点值?TypeError:“float”对象不可迭代

How to return some float values with zip() in Python function? TypeError: 'float' object is not iterable

提问人:Raptor 提问时间:5/24/2023 最后编辑:Goku - stands with PalestineRaptor 更新时间:5/24/2023 访问量:67

问:

我写了一个简单的函数,想要同时返回 1 个以上的浮点值

def test_zip_float():
    return zip(1.234, 3.456)

print(test_zip_float())

其结果是:

TypeError:“float”对象不可迭代

我可以把它改写为:

def test_zip_float():
    return {"val1": 1.234, "val2": 3.456}

print(test_zip_float())

但它看起来很笨拙。

在一个函数中返回多个浮点值的最佳方法是什么?

python-3.x 浮点 返回

评论

0赞 B Remmelzwaal 5/24/2023
return (1.234, 3.456)? 采用两个可迭代对象,并将它们按元素组合成元组,直到达到最短可迭代对象的长度。zip
0赞 Guy 5/24/2023
zip([1.234, 3.456])?我不太确定你期望得到什么。为什么他们首先不使用 a?ziplist
0赞 CtrlZ 5/24/2023
返回 1.234,3.456 将返回多个值(在本例中为两个)作为元组。不清楚为什么 zip() 在起作用

答:

2赞 Goku - stands with Palestine 5/24/2023 #1

您也可以不使用拉链。它将返回一个浮点值的元组:

def test_zip_float():
    return 1.234, 3.456

print(test_zip_float())

#(1.234, 3.456)

评论

0赞 Raptor 5/24/2023
似乎我读了一个不正确的教程。谢谢。简单是最好的。
1赞 Ghassen Jemaî 5/24/2023 #2

在 Python 中,您可以使用该语句通过将多个值括在括号内或作为元组从函数返回多个值。returnfloat

def test_return_floats():
    return 1.234, 3.456

float1, float2 = test_return_floats()
print(float1, float2)

在此示例中,该函数返回两个值,以及 ,用逗号分隔。调用该函数时,可以使用解包将返回的值分配给单独的变量(在本例中为)。test_return_floats()float1.2343.456float1float2

评论

0赞 NotTheDr01ds 7/14/2023
Ghassen Jemaî - 你在 5 月份的五个答案似乎都可能全部或部分由 AI(例如 ChatGPT)编写。请注意,这里不允许发布 AI 生成的内容。如果您使用 AI 工具来帮助回答任何答案,我鼓励您删除它。我们希望您能坚持下去,通过发布自己的优质内容,成为我们社区的宝贵一员。谢谢!
0赞 NotTheDr01ds 7/14/2023
读者应该仔细和批判性地审查这个答案,因为人工智能生成的信息通常包含根本性的错误和错误信息。如果您发现质量问题和/或有理由相信此答案是由 AI 生成的,请留下相应的反馈。