Python 자료구조(List)
● List
파이썬에서 List는 타 언어의 배열과 같은 개념으로 생각하면 쉽다.
●선언
arr = []
arr = list()
● List관련 함수
- append(넣을 값) : 넣을 값을 리스트의 맨 끝에 추가한다.
- pop() : 리스트의 맨 뒤에 있는 요소를 지운다.
pop(i) i번째 index를 지워준다.
- len(리스트명or리스트): 리스트의 길이를 반환
print(len([1, 2, 3, 4, 5]))
→ 5 출력
arr = [1, 3, 5]
print(len(arr))
→ 3 출력
- sum(리스트명) : 리스트 내부의 합을 반환
- index(찾을값) : 찾을 값의 index를 반환
list = [1, 2, 3, 4, 5]
print(list.index(3))
→ 3 출력
index함수 사용 주의사항 index함수는 존재하지 않는 값에 대해 사용하려할때 Value Error이 발생한다.
index함수 사용시 in 키워드 등을 사용하여 값이 있는지 먼저 확인 해야한다.
if 3 in word:
print(list .index(3))
- min(배열명), max(배열명)
mix(배열명) : 해당 배열에 있는 최소 값을 출력한다.
max(배열명) : 해당 배열에 있는 최대 값을 출력한다.
● 인덱스를 통한 배열접근
배열의 위치 1~ n까지는
arr[0] 부터 ~ arr[n-1]
● enumerate
word = ['H', 'E', 'L', 'L', 'O']
idx = -1
for i, char in enumerate(word):
if char == 'L':
idx = i
if idx == -1:
print("not exist")
else:
print(idx)
>> 3
enumerate로 list를 감싸면, i는 index 값을 char는 word의 내부의 값을 하나씩 증가하며 받는다
● in, not in
word = ['H', 'E', 'L', 'L', 'O']
if 'L' in word:
print('L is in list')
if 'L' not in word:
print('L is not in list')
→ L is in list
● tuple
한 줄에 n, m 2개의 숫자를 공백을 사이에 두고 입력 받는 경우에는 tuple과 map을 이용해 볼 수 있습니다. tuple로 map 함수를 감싸면, n, m에 각 숫자를 나눠 할당해 줄 수 있습니다.
n, m = tuple(map(int, input().split()))
print(n, m)
>> 1 3
1 3