newhaneul

[Advanced Python Programming] Lecture 4. Applications of Lists and Tuples 본문

4. University Study/Advanced Python Programming

[Advanced Python Programming] Lecture 4. Applications of Lists and Tuples

뉴하늘 2026. 4. 12. 20:53
728x90

포스팅은 인하대학교 허혜선 교수님의 [202601-EEC3408-001] 고급파이썬프로그래밍을 수강하고 공부한 내용을 정리하기 위한 포스팅입니다.

 

1. List Function

  • 리스트에 요소 추가하기
    • append(element): 요소 하나를 추가 [리스트 + 요소] $\rightarrow$ 항상 맨뒤에 삽입
    • extend(list): 리스트를 연결하여 확장 [리스트 + 리스트] $\rightarrow$ 항상 맨뒤에 삽입
    • insert(index, element): 특정 인덱스에 요소 추가 [리스트 + 요소] $\rightarrow$ 원하는 위치에 삽입
a = [10, 20, 30]
a.insert(1, [500, 600])
a

[10, [500, 600], 20, 30]
a = [10, 20, 30]
a[1:1] = [500, 600]
a

[10, 500, 600, 20, 30]

 

  • 리스트에 요소 삭제하기
    • pop(index): 해당 인덱스의 요소를 삭제한 뒤 요소를 반환
    • remove(element): 리스트에서 특정 값을 찾아서 삭제함. 만약 리스트에 같은 값이 여러 개 있을 경우 처음 찾은 값을 삭제함

 

  • 리스트에서 특정 값의 인덱스 구하기
    • index(element): 리스트에서 특정 값의 인덱스를 반환. 만약 리스트에 같은 값이 여러 개일 경우 처음 찾은 인덱스를 반환

 

  • 특정 값의 개수 구하기
    • count(element): 리스트에서 특정 값의 개수를 구함

 

  • 그 외
    • reverse(): 리스트에서 요소의 순서를 반대로 뒤집음
    • sort() 리스트의 요소를 작은 순서대로 정렬
    • clear(): 리스트의 모든 요소를 삭제

 

  • b = a와 같이 리스트를 다른 변수에 할당하면 리스트는 두 개가  될 것 같지만 실제로는 리스트가 한 개이다.
a = [10, 20, 30]
b = a
a is b

True

 

  • 리스트 a와 b를 완전히 두 개로 만들려면 copy() 메서드로 모든 요소를 복사해야한다.
    • 'is': 동일 객체 유무
    • '==': 요소 유무
a = [10, 20, 30]
b = a.copy()
a is b
a == b

False
True

 

  • enumerate
    • for 인덱스, 요소 in enumerate(리스트):
    • for 인덱스, 요소 in enumerate(리스트, start = 숫자):
a = [19, 21, 35, 49, 87]
for index, value in enumerate(a):
    print(index, value)
    
0 19
1 21
2 35
3 49
4 87
a = [19, 21, 35, 49, 87]
for index, value in enumerate(a, start = 1):
    print(index, value)
    
1 19
2 21
3 35
4 49
5 87

 

  • List Comprehension
    • [식 for 변수 in 리스트]
    • [식 for 변수 in 리스트 if 조건식]
    • list(식 for 변수 in 리스트] 
    • list(식 for 변수 in 리스트 if 조건식)

 

  • map() function
    • map 함수는 원본 리스트를 변경하지 않고 새 리스트를 생성하여 지정된 함수로 처리해주는 함수임
    • list(map(function, list))
    • tuple(map(function, tuple))
a = [1.2, 2.5, 3.7, 4.7]
a = list(map(int, a))
a

[1, 2, 3, 4]
a = list(map(str, range(10)))
a

['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
a = map(int, input().split()) # 10 20 (입력)
print(a)
print(list(a))

<map object at 0x000001A539413220>
[10, 20]

 

 

2. Tuple Function

  • 내용을 변경하는 삽입 및 삭제 함수를 사용할 수 없음
  • index(index): tuple에서 특정 값의 인덱스 구하기
  • count(element): 특정 값의 개수 구하기

 

  • tuple comprehension
    • tuple(식 for 변수 in 리스트 if 조건식)
    • () 괄호 안에 표현식을 넣으면 tupe이 아니라 generator 표현식이 되므로 주의
a = tuple(i for i in range(10) if i % 2 == 0)
a

(0, 2, 4, 6, 8)
a = (i for i in range(10) if i % 2 == 0)
a

<generator object <genexpr> at 0x000001A539982CE0>
728x90