pocket

[Python] 리스트, 딕셔너리 다루기 1 - 리스트, 리스트 함수 본문

Python

[Python] 리스트, 딕셔너리 다루기 1 - 리스트, 리스트 함수

jpocket 2025. 4. 1. 16:07
반응형

다차원 리스트

🔶 1차원 리스트

행만 있는 것.

 

🔶 2차원 리스트

흔히 아는 테이블.

 

🔶 2차원 리스트의 길이

2차원 리스트의 길이(length)는 행의 길이일까? 열의 길이일까?

행의 길이

 

 

🔶 3차원 리스트

depth라는 개념 = 엑셀에서 sheet 개념

[depth][행][열] 형태로 사용

 

 

🔶 3차원 리스트의 길이

depth의 길이

  • list_th[0][0][:]: depth = 0, 첫 번째 행, 열 전체
 
 
 

리스트 함수

len(): 리스트의 요소 개수 구하기
min(), max(): 리스트에서 최소값, 최대값 구하기
sum(): 리스트의 요소 합계
enumerate(): 
zip()

 

🔶 리스트 안에 숫자가 아닌 자료형이 있을 때

'<' not supported between instances of 'int' and 'str' 라는 오류가 뜬다.

int형과 str형은 서로의 크고 작음을 비교할 수 없기 때문

 

 

napoli_player = ['minjae', '크바라츠헬리아', 'Osimhen', 'Anguissa']
min(napoli_player), max(napoli_player)
('Anguissa', '크바라츠헬리아')

min()과 max() 함수는 기본적으로 사전식(lexicographical) 순서를 기준으로 문자열을 비교한다.

즉, 알파벳 또는 유니코드 값의 순서에 따라 최소(max) 또는 최대(min)를 결정!

 

 

🔶 아스키 코드

이때 문자열을 비교하는 기준은 아스키 코드(ASCII) 이다.

아스키 코드는 정보를 교환하는 부호다.

문자열이나 기호를 컴퓨터가 이해할 수 있도록 인코딩(encoding)한 신호 

가장 중요한,,

A는 65, a는 97

정도만 기억하고

나머지는 필요할 때 찾아보도록.

 

 

아스키코드 -> 문자열 chr()
문자열 -> 아스키코드 ord()

 

 

 

🔶 sum()

 인자로 들어온 리스트나 튜플의 숫자형 자료형들을 모두 더하는 함수

 

10,20,30,30을 모두 더하는 방법

1. 반복문 사용하기

kims_age = (10,20,30,30)

total_sum = 0
for i in kims_age:
    total_sum += i

print(total_sum)
90

 

이 방법도 물론 좋지만, 코드가 너무 길다. 

sum함수를 활용한다면?

 

 

2. sum() 활용하기

sum(kims_age)
90

 

코드를 한 줄로 줄일 수 있다.

 

 

 

🔶enumerate()

리스트의 원소에 순서값을 부여해준다.

numerate()는 for문과 함께 쓰일 수 있다.

for i in enumerate(kims_age):
    print(i)
(0, 10)
(1, 20)
(2, 30)
(3, 30)

 

 

 

🔶 zip()

여러 개의 순회 가능한(iterable) 객체를 인자로 받고, 각 객체가 담고 있는 원소를 순차적으로 접근할 수 있는 반복자(iterator)를 반환합니다.

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

zipped = zip(list1, list2)
print(list(zipped))

➡️ 각 리스트의 같은 인덱스에 있는 값들을 하나의 튜플로 묶어서 반환

실무에서 딕셔너리 만들기, 여러 리스트 동시 순회 등에 자주 사용됨!

반응형