python – 在列表理解期间无法解压缩返回的元组

python – 在列表理解期间无法解压缩返回的元组,第1张

概述我有一个接受输入并返回3项元组的函数: def f(a, b): x = a + 1 y = x + 2 z = y + 3 return (x, y, z) 我从一组元组开始: my_set = {(1, 2), (3, 4), ... (m, n)} 我需要构建一个列表,但是后面会抛出一个TypeError: [(a, b, x, y, z, (x, y, z) 我有一个接受输入并返回3项元组的函数:

def f(a,b):    x = a + 1    y = x + 2    z = y + 3    return (x,y,z)

我从一组元组开始:

my_set = {(1,2),(3,4),... (m,n)}

我需要构建一个列表,但是后面会抛出一个TypeError:

[(a,b,x,z,(x,z)) for a,b in my_set for x,z in f(a,b)]TypeError: 'int' object is not iterable

我正在审查this帖子,它显示了一个类似的过程,但由于某种原因,for x,z …抛出了异常,我不确定我是否只是忽略了一些小事.

解决方法 将f(a,b)解包为x,z是有效的,但这不是你正在做的事情.对于f(a,b)中的x,尝试解包f(a,b)的每个元素,就像每个元素是一个单独的3元组一样.

你正在寻找的是一种方法,将f(a,b)分配给列表理解中的某些东西,而不是迭代它.有解决方法,但我建议只使用正常循环:

l = []for a,b in my_set:    x,z = f(a,b)    l.append((a,z)))

如果你真的想使用列表推导,一个解决方法是循环遍历一个虚拟列表[f(a,b)]而不是f(a,b):

[(a,z in [f(a,b)]]
总结

以上是内存溢出为你收集整理的python – 在列表理解期间无法解压缩返回的元组全部内容,希望文章能够帮你解决python – 在列表理解期间无法解压缩返回的元组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1192093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存