我有兩個列表,它們基本上需要根據它們的匹配項目(列表)相互映射。輸出是已映射的對的列表。當要映射的列表長度爲一時,我們可以在另一個列表中查找直接匹配。問題出現,當被映射列表的長度爲> 1,我需要找到,如果在一個列表是B.在Python中將兩個列表根據其項目映射到列表對中
的一個子集輸入:
A = [['point'], ['point', 'floating']]
B = [['floating', 'undefined', 'point'], ['point']]
我的失敗代碼:
C = []
for a in A:
for b in B:
if a == b:
C.append([a, b])
else:
if set(a).intersection(b):
C.append([a, b])
print C
預期輸出:
C = [
[['point'], ['point']],
[['point', 'floating'], ['floating', 'undefined', 'point']]
]
爲什麼'[['point','floating'],['point']]'不在預期的輸出中? – 2013-05-03 19:52:08
@ashwini請參閱上面的說明。我已經解釋了Y. – Shankar 2013-05-03 19:56:35
「長度> 2」(您現在更新了)正在竊聽我,請參閱下面的解決方案。 – 2013-05-03 20:09:55