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 학원 강의 자료 및 책 '혼자 공부하는 파이썬' ]

+ Recent posts