簡體   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