본문 바로가기

Python/파이썬 - 기본을 갈고 닦자!

#14. List(리스트)(4) - 리스트 원소 추가, 삭제

14. List(리스트)(4) - 리스트 원소 추가, 삭제

더보기
더보기

14. List(리스트)(4) - 리스트 원소 추가, 삭제

1. list 원소 추가

  • append : 원소 마지막에 추가
>>> a = [1, 2, 3, 4, 5]
>>> a.append(6)
>>> a
[1, 2, 3, 4, 5, 6]
  • insert : 리스트.index(입력할index, 값)
>>> a = [1, 2, 3]
>>> a.insert(1, 5)
>>> a
[1, 5, 2, 3]
  • + 연산자로 더하기
>>> m = [2, 5, 7]
>>> n = [3, 5, 9]
>>> k = m + n
>>> k
[2, 5, 7, 3, 5, 9]
>>> k +=[11, 13]
>>> k
[2, 5, 7, 3, 5, 9, 11, 13]
  • extend메소드 : 리스트.extend(추가할리스트)
>>> a = [1,2,3]
>>> a.extend([4,5,6])
>>> a
[1, 2, 3, 4, 5, 6]

2. list 원소 삭제

  • del 키워드를 통한 삭제
>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> del a[1]
>>> a
[1, 3, 4, 5, 6, 7]
  • list의 remove메소드에 의한 삭제
  • list.remove(찾을아이템)
  • 찾을 아이템이 없으면 ValueError 발생
>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> a.remove(3)
>>> a
[1, 2, 4, 5, 6, 7]
>>> a.remove(9)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
  • del키워드와 리스트의 index메소드와 혼합하여 사용하면 remove효과가 남
Copy>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> del a[a.index(3)]
>>> a
[1, 2, 4, 5, 6, 7]
 

문제 1. 다음 중 리스트의 마지막에 새로운 원소를 추가하는 방법으로 올바른 것은 무엇인가요?

  1. list.insert(index, element)
  2. list.append(element)
  3. list.remove(element)
  4. list.pop(index)

문제 2. 리스트 a = [1, 2, 3, 4, 5]에서 a.insert(2, 9)를 실행한 후의 결과는 무엇인가요?

  1. [1, 2, 9, 3, 4, 5]
  2. [1, 9, 2, 3, 4, 5]
  3. [1, 2, 3, 9, 4, 5]
  4. [1, 2, 3, 4, 9, 5]

문제 3. 리스트 a = [2, 4, 6]에 [8, 10]을 추가하고 싶습니다. 올바른 방법은 무엇인가요?

  1. a + [8, 10]
  2. a += [8, 10]
  3. a.extend([8, 10])
  4. 위의 모든 방법

문제 4. 리스트 a = [1, 2, 3, 4, 5]에서 del a[2]를 실행한 후의 결과는 무엇인가요?

  1. [1, 2, 3, 4, 5]
  2. [1, 3, 4, 5]
  3. [1, 2, 4, 5]
  4. [2, 3, 4, 5]

문제 5. 리스트 a = [1, 2, 3, 4, 5]에서 값이 4인 원소를 삭제하려고 합니다. 올바른 방법은 무엇인가요?

  1. a.del(4)
  2. a.remove(4)
  3. del a[4]
  4. a.pop(4)
더보기
더보기

문제 1. 정답 2)

리스트의 마지막에 새로운 원소를 추가하는 방법은 list.append(element)입니다. insert는 특정 위치에 값을 삽입하고, remove는 특정 값을 제거하며, pop은 특정 위치의 값을 제거합니다. 따라서 정답은 2번입니다.

문제 2. 정답 1)

a.insert(2, 9)는 인덱스 2에 9를 삽입합니다. 리스트는 0부터 시작하므로 인덱스 2는 세 번째 위치입니다. 따라서 결과는 [1, 2, 9, 3, 4, 5]가 됩니다. 정답은 1번입니다.

문제 3. 정답 4)

리스트에 다른 리스트를 추가하는 방법은 + 연산자, += 연산자, extend 메소드를 사용할 수 있습니다. 따라서 정답은 4번, 위의 모든 방법입니다.

문제 4. 정답 3)

del a[2]는 인덱스 2에 있는 원소를 삭제합니다. 리스트는 0부터 시작하므로 인덱스 2는 세 번째 원소입니다. 따라서 결과는 [1, 2, 4, 5]가 됩니다. 정답은 3번입니다.

문제 5. 정답 2)

리스트에서 특정 값을 삭제하려면 remove 메소드를 사용합니다. del은 특정 위치의 값을 삭제하고, pop은 특정 위치의 값을 반환하면서 삭제합니다. 따라서 정답은 2번입니다.

문제 6. 리스트 a = [10, 20, 30, 40, 50]에 대해 다음 작업을 수행하는 코드를 작성하세요:

  1. 리스트의 마지막에 60을 추가하세요.
  2. 인덱스 2에 25를 삽입하세요.
  3. 리스트 a와 리스트 [70, 80]을 합쳐 새로운 리스트 b를 만드세요.
  4. 리스트 a에서 값이 20인 원소를 삭제하세요.
더보기
더보기
# 문제 6의 해답
a = [10, 20, 30, 40, 50]

# 1. 리스트의 마지막에 60을 추가하세요.
a.append(60)
print(a)  # [10, 20, 30, 40, 50, 60]

# 2. 인덱스 2에 25를 삽입하세요.
a.insert(2, 25)
print(a)  # [10, 20, 25, 30, 40, 50, 60]

# 3. 리스트 a와 리스트 [70, 80]을 합쳐 새로운 리스트 b를 만드세요.
b = a + [70, 80]
print(b)  # [10, 20, 25, 30, 40, 50, 60, 70, 80]

# 4. 리스트 a에서 값이 20인 원소를 삭제하세요.
a.remove(20)
print(a)  # [10, 25, 30, 40, 50, 60]