Python

Python 자료구조(List)

Devwon99 2023. 11. 27. 01:35

● 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