Windows 7에서 Python 3.4 및 Wing Personal을 사용하고 있습니다. int 목록과 3 개의 int 목록이 있습니다. 목록 [a]에 목록 [b]의 세 요소가 몇 번이나 나타나는지 확인하고 싶습니다. 파이썬 3에서 세 가지 공통 요소를 포함하는 하위 목록의 수
a=[[1, 6, 11,12, 14, 15], [4, 11, 23, 32, 45, 48],
[3, 7, 11, 14, 15, 17], [1, 8, 14, 24, 45, 53],
[2, 5, 9, 24, 34, 40], [10, 11,13, 14, 15, 22, 36]]
b=[11,14,15]
count =0
anotherList = []
for sublist in a:
for element in b:
if element in sublist:
anotherList.append(element)
count+=1
print (anotherList)
print (count/3)
여기서 카운트 3 아닌 3.6이어야하며 바닥 분할이 경화 할 때 목록 [A] 20 서브리스트를 포함하고, 하나 (14)가 하위 목록 6 발생한 경우에 도움이되지 않는다.
문제는 list [b]에있는 요소 중 3 개 요소의 패턴이 아닌 [a]리스트에있는 요소의 총 횟수를 계산하는 것입니다. 나는 카운트가 끝날 수 있도록 카운트 된리스트에 14 개만이 발생했다면 깨달을 때까지 카운트를 올바르게 할 3 생각으로 나누었다.
색인은 각 목록마다 다르며 때로는 다른 요소가 식별하려는 요소 사이에 있음을 유의하십시오. 즉, 요소가 항상 11,14,15로 함께있는 것은 아닙니다. 때로는 중간에 다른 요소가 있습니다.
11,14,15를 제외한 모든 숫자를 삭제하려고 시도한 다음 3 개 요소 미만의 모든 목록을 삭제했지만 여하튼 그 방법을 사용하지 않는 것 같습니다.
도움을 주시면 감사하겠습니다.
아 ... 미묘한가 ... +1 : – thefourtheye