繁体   English   中英

如何使用列表理解来打印2个列表的笛卡尔积的空格分隔的元组?

[英]How can I print space separated tuples of cartesian product of 2 lists using list comprehension?

我写了下面的代码:

import itertools
for each in list(itertools.product(list1,list2)):
    print each,

它工作正常,但是我想学习如何使用列表推导在同一行中用空格隔开打印此笛卡尔积列表的每个元组。

Ouput应该是这样的:

(1、3)(1、4)(2、3)(2、4)

是list1 = [1,2]和list2 = [3,4]

我试过了,但是语法错误来了。 请帮助,在此先感谢。

这似乎就是您想要的(在Python3中,对于Python2,只需删除括号并在打印后留一个空格):

print(str([ each for each in list(itertools.product(list1,list2)) ])[1:-1].replace(", (", " ("))

希望有帮助! 我真的不知道您为什么要这么做。 另外,请注意,使用此解决方案,即使输出是指定的输出,您最终也会得到一个字符串而不是一个列表。

使用以下代码(在python 3中):

from itertools import product
a = "1 2"
b = "3 4"
A = map(int, (a.split(' ')))
B = map(int, (b.split(' ')))
print(' '.join(map(str, product(A, B))))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM