[리스트 연결]
- extend() 로 리스트에 또 다른 리스트를 연결할 수 있다.
원래의 리스트가 확장되는 개념이다. (파괴적 처리)
- + 연산자를 통해서도 리스트가 연결될 수 있다.
A와 B를 더하면 C라는 새로운 확장된 리스트가 나오고, A와 B는 그대로 있다. (비파괴적 처리)
>>> group = ['홍길동', '박찬호']
>>> group2 = ['강호동','김지은']
>>> group.extend(group2)
>>> group
['홍길동', '박찬호', '강호동', '김지은']
>>> group3 = group + group2
>>> group3
['홍길동', '박찬호', '강호동', '김지은', '강호동', '김지은']
[실습] 내가 좋아하는 숫자와 친구가 좋아하는 숫자를 중복 없이 리스트화 해보자.
me = [1,3,5,6,7]
friend = [2,3,5,8,10]
addlist = me+friend
result = []
for idx,number in enumerate(addlist):
if addlist[idx+1:].count(number)>0:
continue
result.append(number)
print(result)코딩
'''
[1, 6, 7, 2, 3, 5, 8, 10]
'''
두 리스트를 합친 뒤, for문을 돌리는데
만약 현재 요소가 이 다음에 또 나온다면 패스하는 식으로 중복을 제거하였다.
그리고 count 함수 관련해 새로 알게된 사실이 있어 정리해 놓고자 한다.
print('aaabcaa'.count('a', 3))
# 2
다음과 같이 문자열에 count를 쓸 때는,
문자열.count( 찾는 값, 어디서부터 찾을지 인덱스, 어디 전까지 찾을지 인덱스 )
인수를 세 개 까지 받으나
print(['a','b','a'].count('a', 1))
'''
Traceback (most recent call last):
File "c:\Users\Jupiter\Desktop\mygit\LearnInZeroBase\자료구조\리스트 연결 실습.py", line 13, in <module>
print(['a','b','a'].count('a', 1))
TypeError: list.count() takes exactly one argument (2 given)
'''
다음과 같이 리스트에 count를 쓸 때는,
리스트.count(찾는 값)
인수를 단 한개만 받으므로 이 점 유의하도록 하자.
따라서 문자열과 같이 찾는 인덱스 범위를 정하고 싶으면
예제해서 했던 것 처럼 슬라이싱을 하는게 좋을 것 같다.
리스트[어디서부터 찾을지 인덱스 : 어디 전까지 찾을지 인덱스].count(찾는 값)
'자료구조' 카테고리의 다른 글
[자료구조] 문자열 뒤집기 ( slice, reversed(), reverse(), for loop ) (0) | 2022.05.23 |
---|---|
[자료구조] 리스트 아이템 정렬, 순서 뒤집기 ( sort(), reverse() ) (0) | 2022.05.23 |
[자료구조] 리스트 pop(), remove(), del, clear() (0) | 2022.05.10 |
[자료구조] 리스트 append(), insert() (0) | 2022.05.10 |
[자료구조] enumerate() 함수 (0) | 2022.05.10 |