일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- win32com
- pyqt5
- Excel
- 비주얼베이직
- html
- 문자열
- pythongui
- 파이썬GUI
- Outlook
- 오피스
- 파이썬
- 깃
- office
- 윈도우10
- python3
- matlab
- 파워포인트
- Windows11
- 아웃룩
- VBA
- Windows10
- windows
- 안드로이드
- python
- git
- 윈도우11
- pandas
- Android
- 파이썬3
- 엑셀
Appia의 IT세상
파이썬[Python] 중복없이 리스트 합치기, 리스트 반복하기 본문
이번 포스팅은 파이썬[Python] 리스트에 대해서 이야기를 하고자 합니다. 파이썬[Python]에서는 리스트를 가장 많이 사용한다고 생각합니다. 그 파이썬[Python]에서 리스트를 합치거나, 리스트를 반복하는 일은 생각보다 매우 많습니다. 그래서 이 방법에 대해서 이야기를 하고자 합니다.
리스트 합치기
2개의 리스트를 합치는 방법에 대해서 이야기를 하고자 합니다. 리스트를 합칠 때는 '+' 연산자를 매우 많이 사용합니다. 다음 코드에서 방법을 한번 살펴보겠습니다.
example)
A = [1,2,3,4,5] B = [3,4,5,6,7] AB = A + B print (AB) | cs |
result)
[1, 2, 3, 4, 5, 3, 4, 5, 6, 7] | cs |
위의 경우 리스트를 합쳐졌지만, 중첩되는 부분또한 존재합니다. 그런 부분들을 없애고 합쳐보도록 하겠습니다. 우선 다음 링크에서 리스트 2개를 비교하는 방법에 대해서 이야기 한적이 있습니다. 여기에서 일정 소스 코드를 활용해보도록 하겠습니다.
먼저, 2개의 리스트를 비교해서 교집합을 제외한 나머지 부분을 합치는 코드를 작성해보도록 하겠습니다.
example)
A = [1,2,3,4,5] B = [3,4,5,6,7] SetList1 = set(A) SetList2 = set(B) C = list((SetList2.difference(SetList1))) print("A와 B의 차이점 : ",list(SetList2.difference(SetList1))) print("A와 B의 중첩되는 부분은 한번만 표시한 합치기 : ",A + C) A.extend(C) print("A와 B의 중첩되는 부분은 한번만 표시한 합치기 : ",A) | cs |
result)
A와 B의 차이점 : [6, 7] A와 B의 중첩되는 부분은 한번만 표시한 합치기 : [1, 2, 3, 4, 5, 6, 7] A와 B의 중첩되는 부분은 한번만 표시한 합치기 : [1, 2, 3, 4, 5, 6, 7] | cs |
위의 코드에서 보이는 바와 같이 '+'연산자와 extend를 이용했습니다. 단, 중첩되는 부분을 찾기 위해서 먼저, set형태로 변경하여 difference메소드를 이용해서 차이점을 확인하고 그 차이점만 더하는 형태로 합쳤습니다.
리스트 반복하기
그럼 이번에는 리스트를 반복하는 방법에 대해서 이야기를 하고자 합니다. 간단히 '*'를 이용합니다. 그럼 다음 예시를 한번 살펴보겠습니다.
example)
A = [1,2,3,4,5] print("2번 반복 :", A*2) print("3번 반복 :", A*3) | cs |
result)
2번 반복 : [1, 2, 3, 4, 5, 1, 2, 3, 4, 5] 3번 반복 : [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5] | cs |
위와 같이 * 다음에 오는 숫자만큼 반복을 합니다. 물론 다른 형태로도 구현이 가능합니다.
example)
A = [1,2,3,4,5] v = 2 B=[] for i in range(0,v): B.extend(A) print(str(v)+"번만큼 반복 :",B) | cs |
result)
2번만큼 반복 : [1, 2, 3, 4, 5, 1, 2, 3, 4, 5] | cs |
다음과 같은 형태로 반복을 할수가 있습니다. (실은 예전에는 위와 같은 for문을 이용해서 반복을 했습니다.)
이번 포스팅에서는 리스트를 합치거나, 리스트를 반복하는 방법에 대해서 살펴봤습니다. 많은 도움이 되시길 바랍니다. 혹시 궁금하시거나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 보시는 분의 공감이 저에게 매우 힘이 됩니다. 감사합니다.
'Python > Python 기본' 카테고리의 다른 글
파이썬[Python] Pycharm (파이참)에서 테마 바꾸기 (0) | 2020.05.23 |
---|---|
파이썬[Python] 지역 변수(Local Variable), 전역 변수(Global Variable)에 범위 및 함수안에서 전역변수 접근방법 (0) | 2020.05.19 |
파이썬[Python] 문자열에서 공백 제거하기(replace, lstrip, rstrip,strip) (0) | 2020.05.11 |
파이썬[Python] defaultdict(기본값 있는 dictionary) - collections 모듈 (0) | 2020.04.22 |
파이썬[Python] OrderedDict(순서 있는 Dictionary) - collections 모듈 (0) | 2020.04.20 |