프로그래밍에 사용되는 숫자, 문자열 등 자료형태의 모든 것,
Python의 자료형은 정수, 실수, 문자, 논리형 등의 기본 자료형 형태를 처리한다.
문자열과 마찬가지로 Indexing과 Slicing이 가능하다.
tuple
도 가능!
인덱스 번호를 사용하여 한 요소의 값을 가져온다.
>>> a = [10, 20, 30, 100]
>>> print(a)
[10, 20, 30, 100]
>>> a[0] + a [2] #a[0]는 리스트 a의 첫 번째 요솟값을 의미한다.
40
>>> a[-1] + a[-2] #a[-1]은 리스트 a의 마지막 요솟값을 의미하고, a[-2]는 뒤에서 두번째의 요솟값을 의미한다.
130
인덱스 번호로 리스트 특정 요소의 값을 수정할 수 있다.
>>> a = [10, 20, 30, 100]
>>> a[2] = 300 #[10] = [0], [20] = [1], [30] = [2], [100] = [3]이다.
>>> print(a)
[10, 20, 300, 100]
인덱싱이 한 요소의 값을 가져왔다면, 슬라이싱은 인덱스 번호의 0부터 원하는 위치의 요소까지 값을 가져올 수 있다.
변수명[시작(start):끝(stop):간격(step)]
>>> slicing = ['olaf', 'elsa', 'anna', 'krisoff', 'snowgies', 'sven']
>>> slicing[1:5]
['elsa', 'anna', 'krisoff', 'snowgies'] #앞에서 1개의 요소만 제외하는 것과 같다.
>>> slicing[:6]
['olaf', 'elsa', 'anna', 'krisoff', 'snowgies', 'sven'] #앞에서 부터 6개의 요소만 선택하는 것과 같다.
>>> slicing[2:6]
['anna', 'krisoff', 'snowgies', 'sven'] #앞에서 6개의 요소를 선택한 후 선택한 값의 앞에서 2개를 제외하는 것과 같다.
>>> slicing = ['olaf', 'snowgies', ['elsa', 'anna'], 'krisoff', 'sven']
>>> slicing[2:5]
[['elsa', 'anna'], 'krisoff', 'sven']
slicing[2:6]
에서 a[3]
값은 중첩 리스트인 ['elsa', 'anna']
기 때문에
['elsa', 'anna']
부터 a[5]
'sven'까지의 값이 된다.
리스트의 연산은 리스트 내의 값이 아닌 '리스트' 자체를 연산한다.
>>> a = [1, 3, 5]
>>> b = [2, 4, 6]
[1, 3, 5, 2, 4, 6]
>>> a = [3, 6, 9]
>>> a * 2
[3, 6, 9, 3, 6, 9]
>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> len(a)
10
del
은 Python이 가지고 있는 자체적인 삭제 함수이다.
>>> a = ['hi', 'hello', 'xoxo', 'goodbye']
>>> del a[0]
>>> a
['hello', 'xoxo', 'goodbye']
>>> a = ['hi', 'hello', 'xoxo', 'goodbye']
>>> del a[3:]
>>> a
['hi', 'hello', 'xoxo'] #a[3]에 해당하는 요소부터 끝 요소까지 삭제된다.
remove()
는 지정한 위치 값과 같은 요소를 검색 후 나온 처음 값을 삭제한다.
>>> a = ['가', '나', '다', '라', '마', '바', '사']
>>> a.remove('다')
>>> a
['가', '나', '라', '마', '바', '사']
>>> a.remove('아')
#설정한 값이 없을 경우
Traceback (most recent call last):
File "<pyshell#159>", line 1, in <module>
a.remove('아')
ValueError: list.remove(x): x not in list #오류가 발생한다.
pop()
는 지정한 위치 값을 삭제하고 삭제한 값을 취득한다.
>>> a = ['가', '나', '다', '라', '마', '바', '사']
>>> a.pop(2) #리스트의 pop(x)번째 요소를 취득 후 삭제한다.
'다'
>>> a
['가', '나', '라', '마', '바', '사']
clear()
는 리스트 내에 저장 된 모든 요소를 삭제한다.
>>> a = ['가', '나', '다', '라', '마', '바', '사']
>>> a.clear()
>>> a
[]
유용하다는 함수 몇가지 끄적
append
, sort
, reverse
, insert
, count
, extend
append()
는 '첨부하다'라는 뜻으로, 리스트의 맨 마지막에 (x)값을 추가하는 함수이다.
>>> a = [1, 2, 3, 4, 5]
>>> a.append(6)
>>> a
[1, 2, 3, 4, 5, 6] #a.append로 '6' 추가
.sort()
는 리스트의 요소들을 순서대로 정렬해주는 함수이다.
sort(reverse=True)
를 통해 설정한다.sort()
를 통해 설정한다.>>> my_list = [1, 4, 5, 2, 3]
>>> my_list.sort()
>>> my_list
[1, 2, 3, 4, 5]
>>> my_list = [1, 4, 5, 2, 3]
>>> print('기본 설정 정렬 : ',my_list)
기본 설정 정렬 : [1, 2, 3, 4, 5]
>>> my_list.sort(reverse=True)
>>> print('True 내림차순 정렬 :',my_list)
True 내림차순 정렬 : [5, 4, 3, 2, 1]
sorted(reverse=True)
를 통해 설정한다.sort()
를 통해 설정한다.>>> my_list = [9, 2, 1, 4, 6, 5, 7, 8, 3]
>>> my_list=sorted(my_list)
>>> my_list
[1, 2, 3, 4, 5, 6, 7, 8, 9]
insert(a,b)
리스트의 a번째 위치에 b를 삽입하는 함수이다.
>>> a = [1, 2, 3, 4]
>>> a.insert(4, 5) #a의 4번째 값에 5를 삽입하라는 뜻이다.
>>> a
[1, 2, 3, 4, 5]
count(x)
는 리스트 안에 x가 몇 개 있는지 검색 후 그 개수를 알려주는 함수이다.
>>> a = [1, 2, 3, 4, 5, 3, 2, 4, 7, 8, 2, 1]
>>> a.count(2) #a 안에 '2'의 개수를 알려준다.
3
extend(x)
의 x값은 '리스트'만 올 수 있고 기존 a리스트에 x리스트를 더하게 된다.
>>> a = ['hi']
>>> a.extend(['nice to meet you'])
>>> a
['hi', 'nice to meet you']