簡體   English   中英

增加兩組...如何進行

[英]Addition of two sets... How to proceed

考慮兩個集合:- {9,87} 和 {1,2,3,45}。 在這里,我不是指聯合,而是加法,它將產生 output 作為兩個元素組合的所有可能添加,這樣每個元素都來自不同的集合。

所以我應該得到的答案是:- {9+1,9+2,9+3,9+45,87+1,87+2,87+3,87+45}

我如何才能在連續空間中進行這種獨特的兩組相加? 我嘗試了兩個圓圈,發現表達非常困難......

set3 = set()

for item1 in set1:
    for item2 in set2:
        set3.add(item1+item2)

itertools.product可以幫助生成所需的集合。 member1是來自set1的元素,而member2是來自set2的元素。 itertools.product產生兩個集合的笛卡爾積——具體來說,所有可能的元組,其中第一個元素是set1的成員,第二個元素是set2的成員。

import itertools

set1 = {9,87}
set2 = {1,2,3,45}
print({member1 + member2 for member1, member2 in itertools.product(set1, set2)})

您可以使用集合理解來實現這一點

x = {9,87}
y = {1,2,3,45}
z = {i+j for i in x for j in y}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM