대학교

파이썬 - (5) 여러 가지 자료형

매 석 2023. 11. 6. 22:09
반응형

리스트

파이썬의 대표적인 컨테이너형 자료구조이다.

쉼표로 구분 지은 값에 대괄호를 친다.

1. 리스트 요소 호출은 인덱스를 통해 호출할 수 있다.

2. 음수 인덱스는 리스트의 끝에서부터 시작한다.

3. len()을 통해 리스트의 길이를 알 수 있다.

4. 리스트는 여러 타입의 객체를 포함할 수 있다.

 

List = ["a", 1, 2]
List[0] #"a"
List[-1] #2
len(List) #3

리스트는 가변적이기에 요소를 바꾸거나 추가할 수 있다.

하지만 가변적이므로 하나의 이름으로 객체를 수정했을 시, 다른 이름으로 가리키는 객체도 수정된다.

즉 왼쪽의 경우 list2가 list1로 초기화했기에 list2에 추가한 "D"값이

list1에도 똑같이 추가되어 같은 값을 가지는 경우이다.

리스트의 내장 함수로는 len, sum, max, min 등이 있다.

리스트를 순회할 때는 for문을 사용한다.

 

list=[1,2,3]
for i in list:
    print(i)
-> 1
   2
   3

리스트는 sort()로 정렬을 할 수 있다.

reverse를 사용하면 리스트를 뒤집을 수 있다.

추가로 sort에 reverse 옵션을 사용해 오름차순, 내림차순도 정할 수 있다.

또한 리스트는 슬라이싱을 통해 특정 인덱스를 선택해 새로운 리스트를 생성할 수 있다.

위의 예시는 금, 은, 동, 나라를 table이라는 리스트에 순회를 통해 추가하여

오름차순 정렬 후 뒤에서 10개 즉 상위 10개의 나라를 슬라이싱한 후

reverse하여 최종적으로 올림픽 순위 10위까지를 구하는 것이다.

참고로 sort의 기준은 금,은,동,나라 순으로 우선 순위가 정해져있다.

리스트의 메소드는 보통 이정도를 많이 사용한다.

모두 알아두어야 파이썬을 사용할 때 용이하다.

 

문자열, 튜플

이 둘 모두 리스트와 같이 for문으로 순회가 가능하다.

왼쪽의 경우 문자열, 오른쪽의 경우 튜플의 예시이다.

하지만 문자열과 튜플은 가변적이지 않다.

그렇기에 인덱스를 통해 접근하여 값을 바꿀 수 없다.

또한 list(), tuple()을 통해 형변환이 가능하다.

이런식으로 나라,금,은,동을 각각 리스트로 사용하지 않고 위와 같이 튜플들의 리스트를 활용한다.

그렇기 위해서는 형변환도 할 수 있어야 한다.

앞의 내용들을 활용해서 소수를 구하는 함수, 피보나치 수열을 구하는 함수 등 다양한 형태로 활용이 가능하다.

이러한 알고리즘적 사고를 키우기 위해서는 백준 사이트에서 다양한 분야의 문제를 풀어보는 것을 추천한다.