Back to Course

파이썬 소개

0% Complete
0/0 Steps
  1. 코딩의 기초
    소단원 1: 파이썬 소개
    4 Topics
    |
    1 Quiz
  2. 수업 2: 파이썬을 사용한 애니메이션
    4 Topics
    |
    1 Quiz
  3. 수업 3: 알고리즘 및 순서도
    5 Topics
    |
    1 Quiz
  4. 파이썬을 사용한 프로그래밍 개념
    수업 4: 변수 및 산술 연산자
    6 Topics
    |
    1 Quiz
  5. 수업 5: 파이썬의 함수
    6 Topics
    |
    1 Quiz
  6. 소단원 6: 조건부 프로그래밍
    5 Topics
    |
    1 Quiz
  7. 수업 7: 파이썬의 루프 - While 루프
    3 Topics
    |
    1 Quiz
  8. 수업 8: 파이썬의 루프 - For 루프
    3 Topics
    |
    1 Quiz
  9. 수업 9: 문자열 작업
    5 Topics
    |
    1 Quiz
  10. 수업 10: 파이썬의 목록
    4 Topics
    |
    1 Quiz
  11. 파이썬 게임
    수업 11: 미로 게임의 딱정벌레
    4 Topics
  12. 캡스톤 프로젝트
    수업 12: 캡스톤 프로젝트
Lesson 10, Topic 2
In Progress

목록 조작

Lesson Progress
0% Complete

목록의 요소에 액세스

요소에 액세스하기 위해 인덱스를 사용하며 이미 그렇게 하는 예를 보았습니다. 다른 목록을 포함하는 목록의 요소에 액세스하려면 인덱스 쌍을 사용합니다.

다음 목록으로 이해해 봅시다.

L = [1, [1, 2, 3], “Hi”, 5]

슬라이스 나열

슬라이스 연산자는 목록에서도 작동합니다. 목록의 조각이 하위 목록이라는 것을 알고 있습니다. 우리는[n:m] 연산자를 사용하여 목록 조각을 만듭니다.

print(L[0])

>> 1

print(L[1])

>> [1, 2, 3]

이 목록의 두 번째 요소는 목록입니다. 이 하위 목록의 값에 액세스하려면 다음을 사용합니다.

print(L[1][0])

>> 1

print(L[1][2])

>> 3

L[n:m] 첫 번째 요소를 포함하지만 마지막 요소는 제외하고 n번째 요소에서 m번째 요소까지 목록의 일부를 반환합니다. 따라서 결과 목록에는 mn개의 요소가 포함됩니다.

print(L[1, 2])

>> [[1, 2, 3]]

슬라이스는 경계로 처리되며 결과에는 경계 사이의 모든 요소가 포함됩니다. 구문은 다음과 같습니다.

seq = L [start: stop: step]

여기서 start, stop & step – 세 가지 모두 선택 사항입니다. 첫 번째 인덱스를 생략하면 슬라이스는 ‘0’부터 시작하고 스톱을 생략하면 슬라이스가 끝납니다. 단계의 기본값은 1입니다.

L = [10, 20, 30, 40, 50, 60]

  1. print(L[::2]) # 모든 대체 요소가 있는 목록을 생성합니다.
    >> [10, 30, 50]
  2. print(L[4:] ) # 다섯 번째 위치부터 끝까지 모든 요소를 포함하는 목록을 생성합니다.
    >> [50, 60]
  3. print(L[:3])
    >> [10, 20, 30]
  4. print(L[:])
    >> [10, 20, 30, 40, 50, 60]
  5. print(L[-1]) # “-1″은 목록의 마지막 요소를 나타냅니다.
    >> 60

참고: 목록은 변경 가능하므로 목록을 변경하는 작업을 수행하기 전에 목록을 복사하는 것이 좋습니다.

목록 순회

목록의 각 요소를 방문(목록 탐색)하여 화면에 표시해 보겠습니다. 이는 여러 가지 방법으로 수행할 수 있습니다.

  1. while 루프 사용:
    L = [1, 2, 3, 4, 5]
    index = 0
    
    while index < 5:
      print(L[index])
      index = index + 1

    >> 1
    >> 2
    >> 3
    >> 4
    >> 5

  2. for 루프 사용:
    L = [1, 2, 3, 4, 5]
    
    for i in L:
      print(i)

    >> 1
    >> 2
    >> 3
    >> 4
    >> 5

목록에 추가

목록 추가는 목록 끝에 더 많은 요소를 추가하는 것입니다. 목록 끝에 새 요소를 추가하기 위해 파이썬은 메서드 append()를 제공합니다. 구문은 다음과 같습니다.

목록. append (item)

L = [1, 2, 3, 4, 5]
L.append(50)
print(L)

>> [1, 2, 3, 4, 5, 50]

이렇게 하면 마지막에 목록에 50이 추가되므로 이미 5개의 요소가 있으므로 이제 50이 목록의 6번째 요소가 됩니다.

append ( )를 사용하면 한 번에 하나의 요소만 추가할 수 있습니다. 하나 이상의 요소를 추가하려면 extend ( ) 메서드를 사용할 수 있으며, 기존 목록에 다른 목록의 요소를 추가하는 데에도 사용할 수 있습니다.

A = [100, 50, 30]
L = [1, 2, 3, 4, 5]
L.append(A)
print(L)

이렇게 하면 목록 “L”의 끝에 목록 “A”의 모든 요소가 추가됩니다.

기억하세요: A”는 변경되지 않습니다.

배열 요소 업데이트

목록의 요소 업데이트는 요소에 액세스하고 해당 값을 수정하여 수행됩니다. 단일 요소 또는 목록의 일부를 수정할 수 있습니다. 첫 번째 유형의 경우 인덱스를 사용하여 단일 요소에 액세스하고 두 번째 유형의 경우 목록 슬라이스를 사용합니다. 목록 요소 업데이트의 예를 보았습니다. 슬라이스를 업데이트합시다.

L = [1, 2, 3, 4, 5]
L[1:2] = [20, 30]
print(L)

>> [1, 20, 30, 4, 5]

요소 삭제

목록에서 요소를 삭제/제거할 수 있습니다. 여러 가지 방법이 있습니다.

  1. 인덱스를 알고 있으면 pop()을 사용할 수 있습니다. 지정된 인덱스에서 요소를 제거하고 제거된 요소도 반환합니다.
    L = [1, 2, 3, 4, 5]
    L.pop(2)
    print(L)

    >> [1, 2, 4, 5]
    pop ( )에 인덱스 값이 제공되지 않으면 마지막 요소가 삭제됩니다.

    L = [1, 2, 3, 4, 5]
    L.pop()
    print(L)

    >> [1, 2, 3, 4]

  2. 인덱스가 아닌 요소를 알고 있으면 remove ()를 사용할 수 있습니다. 요소의 인덱스가 아닌 삭제할 요소를 알고 있는 경우에는 remove ()를 사용할 수 있습니다.
    L = [1, 2, 3, 4, 5]
    L.remove(4)
    print(L)

    >> [1, 2, 3, 5]
    그러면 목록에서 값 4가 제거됩니다.