리스트는 여러가지 요소들을 묶어주는 자료형이다.
예를들어 1,2,3,Life,Python이라는 요소들을 하나로 묶고 싶다면 숫자든 문자열이든 혹은 리스트든 뭐든 묶을수있다. 심지어 빈 공간마저도!
리스트를 이용하려면 대괄호를 사용한다는 것을 기억해두자.
new_list = [1,2,3,"Life","Python"] #문자열은 따옴표를 붙여줘야 한다는 것을 반드시 잊지말자.
new_list
[1,2,3,'Life','Python']
이 표를 머릿속에 그리는 연습을 해보자.
[0] | [1] | [2] | [3] | [4] |
1 | 2 | 3 | 'Life' | 'Python' |
앞서 배운 인덱스와 슬라이싱 기능을 리스트에서도 사용 할 수 있다.
리스트 인덱스
리스트에서 Python을 가져오고 싶다면
new_list[4]를 하면 된다. 파이썬의 인덱스는 0부터 센다는 사실을 반드시 기억해주자.
Python이라는 문자열에서 P만가져올 수 도 있다.
new_list[4][0] 이런식으로 사용하면 된다.
이번엔 슬라이싱을 해보자. 반드시 기억해야할점은 new_list[시작점:끝점] 에서 끝의 것을 요소를 가져오려면 끝점 +1을 염두해두어야 한다는 사실이다.
1,2,3만 가져와보자
new_list[0:3]
리스트도 문자열처럼 +도 가능하고 *를 사용해서 반복을 할 수 있다.
a = [1,2,3]
b = [4,5,6]
a + b
[1,2,3,4,5,6]
문자열때 그랬던 것 처럼 바로 옆에 갖다 붙인다고 생각한다!
a * 3을 하면
[1,2,3,1,2,3,1,2,3]
a가 3번 반복되어 새로운 리스트를 만들어낸다!
그리고 이게 왜 지금 나왔는지 모르겠는데
문자열 + 숫자형은 오류가 일어난다.
예를 들어 방금 배운 리스트와 결합해보자면
a[0]은 1을 출력하지만
a[0]+ "hi" 하면 1hi 가 아닌 오류가 발생한다.
str함수를 이용해 문자열로 바꾸어주면 오류가 발생하지 않는다.
str(a[0])+"hi"
'1hi'
이번엔 리스트의 값을 수정해보자. 어떡해야할까? 새로 리스트를 선언하는 것은 정말 말도 안되는일이다.
아까 배운 인덱스와 결합하면 된다.
원하는 인덱스 번호에 대입 연산자를 이용하면 요소의 값을 수정할 수 있다.
new_list[3] = 4
[1, 2, 3, 4, 'Python']
삭제할때는 어떻게 할수있을까?
del을 사용한다
del[3]을 하면 방금 수정한 [3]의 값이 삭제된다.
>>> del new_list[3]
>>> new_list
[1, 2, 3, 'Python']
자 이제 리스트 관련 함수를 배워보자. 함수는 그저 암기의 영역이다. 외워두자.
new_list.append(4)를하면 맨 뒤에 4가 추가 된다. 맨 뒤에 라는 점을 알아두자.
>>> new_list.append(4)
>>> new_list
[1, 2, 3, 'Python', 4]
리스트 정렬 - sort()
sort를 하면 오름차순으로 정렬할 수 있다.
sort(reverse=True)로 설정해주면 내림차순으로 정렬할 수 있다.
그러나 문자열과 숫자열이 합쳐져있는 지금의 new_list에서는 사용할수없다.. 오류가 발생한다.
새로 선언해보자.
>>> a = [1,4,3,2]
>>> a.sort()
>>> a
[1, 2, 3, 4]
리스트 정렬 - reverse()
reverse는 내림차순으로 정렬해주는것이 아니라 그저 뒤집을 뿐이다.
>>> a = ['a','c','b']
>>> a.reverse()
>>> a
['b', 'c', 'a']
인덱스 위치 찾기 - index
a = [1,2,3]
a.index(3)
2
리스트에 요소 삽입 - insert
아까 전의 append와는 다르다. append는 맨 뒷자리에 추가를 하는거고
insert는 원하는 위치에 넣을 수 있는데 파이썬은 0부터 센다는것을 항상 항상 기억하자!
>>> a = [1,2,3]
>>> a.insert(0,4) # 0번째 위치에 4를 삽입한다.
>>> a
[4, 1, 2, 3]
리스트 요소 제거 - remove
아까 del과 비슷하다. 그러나 위치의 값을 제거하는 del과 달리 이것은 값을 찾아 제거하는것이다.
>>> a = [1,2,3]
>>> a.remove(3)
>>> a
[1, 2]
리스트 요소 끄집어 내기 - pop
pop()은 리스트의 맨마지막 요소를 리턴하고 그 요소는 삭제한다.
>>> a = [1,2,3]
>>> a.pop()
3 # del과 remove와 다른점이다. 내가 무엇을 삭제했는지 알 수 있다!
>>> a
[1, 2]
pop에 인자를 넣으면 원하는 위치의 요소를 리턴하고 삭제할 수 있다.
pop(1)
>>> a.pop(1)
2
리스트의 길이를 구하려면
len()함수를 사용하면 된다.
len(a)
3
리스트의 길이를 구하는 것은 후에 반복문을 이용해 리스트 내 모든 요소를 출력할 수도 있고 정말 많은 쓰임새가 있으니 기억해두자.
리스트의 포함된 x의 개수 세기 - count
count(x)는 x가 몇개 있는지 세주는 함수이다.
a = [1,2,3,1]
a.count(1)
2
리스트 확장 - extend
extend(x) x에는 리스트만 올 수 있다는 점을 유의해주어야한다. 아까 +처럼 사용하는 함수이다.
append나 insert같은 함수는 하나의 값밖에 추가 할 수 없다. 리스트와 리스트를 합치고 싶으면 이렇게 해보자.
>>> a = [1,2,3]
>>> a.extend([4,5])
>>> a
[1, 2, 3, 4, 5]
'Python > 파이썬 문법' 카테고리의 다른 글
점프 투 파이썬 정리 - 제3장 제어문 (0) | 2024.08.25 |
---|---|
점프 투 파이썬 핵심 정리 - 제2장 튜플, 딕셔너리, 불, 집합 자료형 (0) | 2024.08.21 |
점프 투 파이썬 요약 - 제 2장 문자열 자료형 (1) | 2024.08.14 |
점프 투 파이썬 요약 - 제 2장 자료형 (0) | 2024.08.14 |
점프 투 파이썬 요약 - 제 1장 파이썬 기초 익히기 (1) | 2024.08.05 |