Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 卷积条件表理解_Python_Loops_List Comprehension - Fatal编程技术网

Python 卷积条件表理解

Python 卷积条件表理解,python,loops,list-comprehension,Python,Loops,List Comprehension,假设我有一组元组,每个元组由4个整数组成(a,B,C,D) 我有一个4整数的输入元组(x,y,z,w) 我想列出集合中的所有元素,其中 (abs(A - x) + abs(B - y) + abs(C - z) + abs(D - w)) / 4 <= i 我不知道如何解决这个问题,我查了一个生成器的定义,它说生成器只是一个函数,它的行为就像迭代器,我假设它是我的总和(abs(x-y)),但是这个东西应该返回一个数字,我太困惑了,请帮我,非常感谢 问题是您试图将生成器除以int for

假设我有一组元组,每个元组由4个整数组成(a,B,C,D)

我有一个4整数的输入元组(x,y,z,w)

我想列出集合中的所有元素,其中

(abs(A - x) + abs(B - y) + abs(C - z) + abs(D - w)) / 4 <= i

我不知道如何解决这个问题,我查了一个生成器的定义,它说生成器只是一个函数,它的行为就像迭代器,我假设它是我的总和(abs(x-y)),但是这个东西应该返回一个数字,我太困惑了,请帮我,非常感谢

问题是您试图将
生成器
除以
int

for w in [element for element in SET
    if ((sum(abs(x - y)) for x, y in zip(element, input)) / 4) <= i]:
        ^---------------- right here -------------------^ 
请注意,总和等于一个参数。当然,这不起作用,因为
zip(元素,输入)
无效(
element
不可编辑)。我不确定它应该是什么。如果
元素
输入的每个值匹配
,请使用
(元素,)*4

编辑:如果我理解,
SET
类似于
{(1,2,3,4),(5,6,7,8)}
,在这一点上它是可以使用的,如果你解决了生成器问题,它应该可以工作。

只是澄清一下,
(A,B,C,D)
是一组元组还是一组整数?我从您试图完成的内容中得出的结论是,它是一个整数元组,如so
(1,2,3,4)
。如果你能举例说明你的输入是什么样子的,这会有所帮助。此外,一段相关代码,最好是一个最小的工作示例,也会很有用。
if ((sum(abs(x - y)) for x, y in zip(key, js)) / 4) == 0]:
TypeError: unsupported operand type(s) for /: 'generator' and 'int'
for w in [element for element in SET
    if ((sum(abs(x - y)) for x, y in zip(element, input)) / 4) <= i]:
        ^---------------- right here -------------------^ 
    if (sum((abs(x - y)) for x, y in zip(element, input)) / 4) <= i]: