列表理解中的条件句嵌套循环



如何将整个循环压缩为一行。有办法吗?

aa = []  
for x in args:
for y in args:
if x == y:
pass
else:
kk = x*y
aa.append(kk)
from itertools import product
aa = [x*y for x,y in product(args, args) if x != y]

前面的答案绝对没有错。双循环也可以,并且可能更容易理解。

[x * y for x in args for y in args if x != y]

最新更新