[파이썬] 리스트 같은 원소값 가져오기

반응형
반응형

파이썬 리스트 같은 원소값 가져오기

파이썬에서 두 개 이상의 리스트에서 공통된 원소값만 추출하는 방법입니다.

별 게 아닌데 막상 하면 막막할만해서 정리겸 포스팅합니다.

for문 이용

가장 쉬운 방법은 for문을 이용하는 방법입니다. 직관적으로 코딩을 만들기 좋습니다.

list1 = [1, 2, 3, 4, 5]

list2 = [4, 5, 6, 7, 8]

common_list = []

#for문 이용

for i in list1:
    for j in list2:
        if i == j:
            common_list.append(j)

# in을 활용
for i in list1:
    if i in list2:
        common_list.append(i)

i를 고정하고 j와 맞춰보고 일치한다면 i를 common_list에 넣습니다.

리스트 comprehension 이용

위의 for문의 방식을 리스트 comprehension을 이용하면 좀 더 간편합니다.

common_elements = [value for value in list1 if value in list2]

set 이용

파이썬에는 set이라는 데이터 타입이 있는데 수학의 집합 개념을 그대로 쓰고 있습니다. set,intersection을 이용해 중복된 값만 가져옵니다.

set1 = set(list1)
set2 = set(list2)
common_list = list(set1.intersection(set2))

 

함께보면 좋은글

[Python] Comprehension

리스트에서 특정 문자 있는 경우 제거하기

[Python] 리스트 모든 원소 하나의 문자열로 변환하기

 

데이터목장님의
글이 좋았다면 응원을 보내주세요!

Designed by JB FACTORY