파이썬에서 여러개의 값들을 묶어서 사용할 때 쓸 수 있는 방법들이 몇가지가 있는데,
이들을 몇가지 기준으로 구분해볼수 있다.
1.순서가 있는가
yes : 리스트, 튜플
no : 딕셔너리, 집합
2.수정이 가능한가
yes : 리스트, 집합
no: 튜플
(딕셔너리는 key와 value값으로 이루어져있어서 key값은 수정 불가능한 값으로 이루어지만 value값은 수정이 가능한 값들로 이루어진다)
●기본적인 List의 형태
list = [1, 2, 3, 4, 5]
리스트에서는 여러가지 편리한 함수와 기능들을 사용해 원하는대로 값을 얻어올수가 있다.
예를들어, 위 리스트에서
list[0] 이라고 하면 기타 다른 언어에서의 배열처럼 0번째. 즉 첫번째 요소값인 숫자 1을 얻게된다.
=> 1
●배열에서처럼 이중 삼중 리스트를 만드는 방법
list = [1, 2, 3, [4, 5, [6, 7]]]
list[3]
=> [4, 5, [6, 7]]
list[3][2]
=> [6, 7]
list[3][2][1]
=> 7
●마이너스를 활용한 뒤쪽 순서에서부터의 접근
list = [1, 2, 3]
list[2]
=>3
list[-1]
=> 3
list[-2]
=> 2
list[-3]
=> 1
0과 -0은 같기 때문에 뒷부분 첫번째 요소가 -0이 아니라 -1부터 시작한다는 점을 주의해주면 된다.
이렇게 리스트의 요소 값을 찾아 얻어오는것을 리스트 인덱싱 이라고 한다.
●리스트 슬라이싱
list = [1, 2, 3, 4, 5]
list[0:2]
=> [1, 2]
list[2:5]
=> [3, 4, 5]
list['입력 요소 이상': '입력 요소 직전까지']
이런식으로 사용해줄 수 있고 처음과 끝을 입력해주지 않아도 사용 가능하다.
list = [1, 2, 3, 4, 5]
list[:2]
=> [1, 2]
list[2:]
=> [3, 4, 5]
(처음부터 2 직전까지, 2부터 끝까지 슬라이싱해준것이다)
●리스트에서 연산자의 사용
a = [1, 2, 3]
b = [4, 5, 6]
a + b
=> [1, 2, 3, 4, 5, 6]
b + a
=> [4, 5, 6, 1, 2, 3]
a * 2
=> [1, 2, 3, 1, 2, 3]
str(a) + 'hello'
=> [1, 2, 3]hello
●리스트의 값의 수정
리스트의 값을 수정해줄때는 아래처럼 해줄수가 있는데, 둘의 차이를 기억해두는게 좋다.
a = [1, 2, 3, 4]
a[2] = ['a', 'b', 'c']
=> [1, 2, ['a', 'b', 'c'], 4]
와
a[2:3] = ['a', 'b', 'c']
=> [1, 2, 'a', 'b', 'c', 4]
의 차이가 보이는가?
●리스트의 요소의 삭제
를 삭제할 때는, 아래처럼 공백으로 바꿔주거나
a = [1, 2, 3, 4]
a[:3] = []
=> [4]
del 함수 또는 remove 함수를 사용해줄 수 있는데, del함수는 위치를 정확히 지정해주면 그 부분을 없애주는 방식이고 remove 함수는 remove('a')를 해주게되면 첫 번째 나오는 'a'를 하나 없애준다. 따라서 remove 함수를 쓸 때 지우고싶은 'a'가 여러개면 remove('a')를 여러번 해줘야한다.
a = [1, 2, 3, 4]
del a[1]
=> [1, 3, 4]
a = [1, 1, 1, 2, 3, 4]
a.remove(1)
=> [1, 1, 2, 3, 4,]
이 외에도 리스트의 마지막에 요소를 추가해주는 append(), 원하는 위치에 요소를 추가해주는 insert(), 순서대로 오름차순 정렬해주는 sort(), 리스트의 요소들을 역순으로 뒤집어주는 reverse(), 값을 입력하면 입력한 값의 위치를 알려주는 index(), 리스트의 요소를 리턴해주면서 그 요소를 삭제하는 pop(), 리스트에 포함된 요소의 개수를 세주는 count(), 리스트와 리스트를 더해주는 extend()함수가 있다.
'Client > Python' 카테고리의 다른 글
파이썬의 자료형들 [리스트, 튜플, 딕셔너리, 집합] 3.딕셔너리 (0) | 2017.03.24 |
---|---|
파이썬의 자료형들 [리스트, 튜플, 딕셔너리, 집합] 2.튜플 (0) | 2017.03.24 |
파이썬 문자열 안에 변수를 대치시키는 방법 (3) | 2017.03.23 |
파이썬 에디터 파이챰 (0) | 2017.03.23 |
파이썬에서의 제곱, 지수 표현 방식 (0) | 2017.03.23 |