리스트는 [ ]로 싸여있고, ,로 구분해준다.
리스트는 list()로 생성 가능하고, 리스트 안에 리스트 를 넣을수도 있다.
배열처럼 동작한다
a=[1,2,3]
a[0] #1
a[0]+a[2] #4
a[-1] #3
a = [1, 2, ['a', 'b', ['Life', 'is']]]
a[2][2][0] #'Life'
리스트도 문자열처럼 슬라이싱 가능 [:]이거로
a[2][2][:]
#['Life','is']
슬라이싱이 arr[start_index:end_index:step]이런 개념이라서
arr[::-1]
는 순서를 역으로 바꿔서 보여준다.
리스트도 +나*로 더하거나 반복할 수 있다.
리스트와 문자열을 더할때는
str(a[1])+'hi' #'2hi'
del a[2] # [1,2]만 남는다.
del이랑 슬라이싱기법으로 한꺼번에 삭제도 가능하다
<리스트 관련 함수들>
'.'를 붙여서 사용하는데
맨뒤에 요소 추가하는 append (모든 자료형 가능.다시 리스트를 추가할 수도 있다.)
- sort() : 숫자 순서대로나 알파벳 순서로 정렬가능
- reverse() : 저장된 요소를 뒤집어서 역순으로 만든다.
- index() : 값이 있으면 위치값 반환, 없는 값은 에러가 뜬다.
- insert(위치인덱스, 삽입할문구)
- remove() : 첫번째로 나오는 원하는 요소를 삭제.
- pop() : 리스트의 맨 마지막 요소를 돌려주고 요소는 삭제,
원하는 인덱스를 넣으면 그 인덱스의 요소를 빼준다.- count() : 원하는 요소 갯수 세기
- extend() : 리스트를 넣어서 리스트에 리스트를 더한다. 이중구조가 되는게 아니라 원래 있던 리스트의 뒷자리 인덱스에 값만 넣어준다. 리스트+=리스트라고 보면됨
튜플은 ()로 둘러싸여있고, 리스트와는 달리 튜플은 값을 바꿀 수 없다는 점 빼고는 리스트와 거의 비슷하다. 또한 한가지 요소만을 가지면 요소 뒤에 콤마를 붙여야 하고(까먹기 쉬워서 매우 중요하다), 괄호를 생략해도 돼서 변수에 여러값을 넣으면 튜플이 된다.
예) tu = 1,2,3 #튜플
튜플의 인덱싱 [n] 이나, 슬라이싱 [:], 더하기 tu1+tu2, 곱하기 tu1*3, 길이구하기 len(tu) 는 가능하다. 원래 튜플을 변화시키는것이 아니라 모습을 다르게해서 출력만 해내는 것이기 때문인듯
참고 사이트 : https://wikidocs.net/13