1. 리스트 요소 추가
1) append()
👾 '리스트의 끝'에 인수로 전달된 데이터를 추가하는 함수
리스트명.append(요소)
# 리스트 선언
my_list = ['apple', 'banana']
# 리스트 뒤에 요소 추가
my_list.append('cherry')
print(my_list) # ['apple', 'banana', 'cherry']
2) insert()
👾 리스트의 특정 인덱스에 데이터를 추가
리스트명.insert(위치, 요소)
# 리스트 선언
my_list = ['apple', 'banana']
# 0번 인덱스에 요소 추가
my_list.insert(0,'cherry')
print(my_list) # ['cherry', 'apple', 'banana']
3) extend()
👾 한 번에 여러 요소를 추가하고 싶을 때 사용, 매개 변수로 리스트를 입력한다.
▶️ 리스트에 다른 리스트나 튜플과 같은 반복가능객체를 추가하여 기존 리스트를 확장
👾 원래 리스트 뒤에 새로운 리스트 요소를 추가
my_list = ['apple', 'banana']
my_list.extend(['cherry', 'mango'])
print(my_list) # ['apple', 'banana', 'cherry', 'mango']
my_list = ['apple', 'banana']
my_list += ['cherry', 'mango']
print(my_list) # ['apple', 'banana', 'cherry', 'mango']
📌 리스트 연결 연산자와 요소 추가의 차이
- 리스트 연결 연산자와 extend() 함수는 비슷한 형태로 동작
- 차이점 > 리스트 연결 연산자는 원본에 어떠한 영향도 주지 않는 '비파괴적'
리스트에 직접적인 영향을 주는 함수 (append(), insert(), extend()) 또는 연산을 '파괴적'
''' 리스트 연결 연산자 '''
list_a = [1, 2, 3]
list_b = [4, 5, 6]
list_a + list_b
# 실행결과 : [1, 2, 3, 4, 5, 6]
print(list_a) # [1, 2, 3]
print(list_b) # [4, 5, 6]
# -> list_a, list_b에 어떠한 변화도 없다 (비파괴적 처리)
''' extend() 함수 '''
list_a = [1, 2, 3]
list_b = [4, 5, 6]
list_a.extend(list_b)
print(list_a) # [1, 2, 3, 4, 5, 6]
# -> 앞에 입력했던 list_a 자체에 직접적인 변화가 있다 (파괴적 처리)
print(list_b) # [4, 5, 6]
💡 헷갈리면 위의 예시처럼 직접 하나하나 입력해서 원본에 변화가 있는지 없는지 확인
2. 리스트 요소 제거
1) 인덱스로 제거: del 키워드, pop()
👾 요소의 위치를 기반으로 요소를 제거
# 1) del 키워드
del 리스트명[인덱스]
del 리스트명[시작_인덱스:종료_인덱스:증감값] # 범위 지정해 한꺼번에 제거, 종료 인덱스는 포함 x
# 2) pop()
리스트명.pop(인덱스)
# del 키워드로 제거
my_list = ['apple', 'banana']
del my_list[0]
print(my_list) # 결과 : ['banana']
# pop()으로 제거
# 리스트의 마지막 요소가 반환되면서 삭제
my_list = ['apple', 'banana']
item = my_list.pop()
print(item) # 결과 : banana
print(my_list) # 결과 : ['apple']
# 인덱스 값을 인수로 전달하면 해당 인덱스 값이 삭제
my_list = ['apple', 'banana']
item = my_list.pop(0)
print(item) # 결과 : apple
print(my_list) # 결과 : ['banana']
2) 값으로 제거 : remove()
👾 값을 지정해서 제거하는 함수
리스트.remove(값)
# 인수로 전달된 값과 동일한 요소를 찾아서 제거. 동일한 요소가 여러 개인 경우에는 첫 번째 요소가 제거
my_list = ['apple', 'banana', 'cherry', 'mango']
my_list.remove('cherry')
print(my_list) # ['apple', 'banana', 'mango']
# 중복된 값이 있는 경우 제일 앞에 있는 것만 삭제
my_list = ['apple', 'banana', 'cherry', 'mango', 'cherry']
my_list.remove('cherry')
print(my_list) # ['apple', 'banana', 'mango', 'cherry']
# 특정 값을 전부 삭제를 원할 경우 반복문 사용.
my_list = ['apple', 'banana', 'cherry', 'mango', 'cherry']
for idx in range(my_list.count('cherry')):
my_list.remove('cherry')
print(my_list) # ['apple', 'banana', 'mango']
3) 모두 제거: clear()
👾 리스트 내부의 요소를 모두 제거
리스트.clear()
my_list = ['apple', 'banana']
my_list.clear()
print(my_list) # []
my_list = ['apple', 'banana']
my_list = []
print(my_list) # []
[ 내용 참고 : IT 학원 강의 자료 및 책 '혼자 공부하는 파이썬' ]
'Programming Language > Python' 카테고리의 다른 글
[Python] 조건문 | if ~ else와 elif 구문, pass 키워드 (0) | 2024.03.01 |
---|---|
[Python] 조건문 | 불 자료형과 if 조건문, if 응용 문제 (짝/홀수 구분) (0) | 2024.03.01 |
[Python] method | 문자열 메소드 (4) | 2024.02.28 |
[Python] format() 함수, f-문자열, is00(), in 연산자 (1) | 2024.02.27 |
[Python] 숫자의 종류, 연산자, 변수, input(), 형변환 (1) | 2024.02.26 |