예를 들어 2 차원 목록 인 두 개의 목록이 있습니다.
a=[[7,9,10,11,12],[4,11,14,16,21]]
b=[[5,9,14,15],[7,12,15,17,19],[8,14,15,17,19],[13,15,17,20,22]]
나는 결과를 원한다
0. [[9],[12,7]]
1. [[4], [14]]
댓글에서 복사 :
for 루프.
for idx,item_a in enumerate(a):
result = []
for item_b in b:
result.append(list(set(item_a) & set(item_b)))
print(idx,result))
귀하의 질문을 올바르게 이해했다면이 코드는 귀하를위한 것입니다.
res = list(enumerate([[list(set(x) & set(y)) for x in b] for y in a]))
# output: [(0, [[9], [12, 7], [], []]), (1, [[14], [], [14], []])]
보시다시피는 다음 res
과 같은 튜플 목록입니다 (idx, list_value)
.
예를 들어 res[0]
튜플 포함 인덱스이고 값의 대응리스트의 목록. 모든 의심을 제거하기 위해 다음은 코드입니다.(0, [[9], [12, 7], [], []])
0
[[9], [12, 7], [], []]
idx0, lst0 = res[0] # or equivalently idx0, lst0 = res[0][0], res[0][1]
print('idx of res[0] is %d and the corresponding list is: %s' %(idx0, str(lst0)))
# output: idx of res[0] is 0 and the corresponding list is: [[9], [12, 7], [], []]
다음과 같은 방법으로 모든 결과를 인쇄 할 수 있습니다.
for idx, val in res:
print(idx, val)
그리고 당신은 얻을 것입니다 :
0 [[9], [12, 7], [], []]
1 [[14], [], [14], []]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다