List
가장 일반적인 iterable 자료형이라고 했습니다. List는 값을 다루는 부분에 있어 매우 자유롭습니다. List를 만들 때는 아래처럼 대괄호([ ])로 감싸 주고 각 요소들은 쉼표로 구분합니다.
l = [] # 빈 리스트 l = [1, 2, 3] # 대괄호로 감싸고, 쉼표로 구분 l = [1, 2, 'hi!'] # 어떤 자료형이든 사용할 수 있음 l = [1, 2, [1, 2, 3]] # 다중 리스트 l.append(4) # 값 추가 print(l) # [1, 2, [1, 2, 3], 4] |
view rawlist.py hosted with ❤ by GitHub
인덱싱과 슬라이싱
Python에선 List에 접근하기 위해 타 프로그래밍 언어들의 배열 접근 방식과 비슷한 인덱싱이라는 개념을 지원하고, 추가적으로 슬라이싱이라는 개념도 있습니다. 이 둘을 이용해 각 요소에 접근하고, 특정 집합을 잘라낼 수 있습니다. 대부분의 프로그래밍 언어에서 이와 같은 인덱싱은 보통 zero-based numbering(0부터 시작)한다는 것을 참고하기 바랍니다.
l = [1, 2, 3, 4, 5] # --- Indexing --- print(l[1]) # 2 print(l[-1]) # 5 # 음수 인덱스는 맨 마지막 요소를 기준으로 인덱싱(-1이 마지막 요소, -2가 마지막에서 두 번째 요소, ...) l[1] = 3 # 요소 수정 del l[1] # 요소 삭제 # --- Slicing --- print(l[0:3]) # [1, 2, 3] # [n:m] 형태로 슬라이싱, n번째 요소부터 m-1번째 요소까지를 리스트로 리턴 print(l[:3]) # [1, 2, 3] # 슬라이싱의 0은 생략 가능 print(l[:]) # [1, 2, 3, 4, 5] print(l[1:-1]) # [2, 3, 4] # 음수 인덱스를 이용한 슬라이싱도 가능 |
view rawlist-indexing-slicing.py hosted with ❤ by GitHub
del이라는 키워드를 사용했는데, 제대로 이해하려면 매직 메소드라는 개념을 알아야 하므로 여기서는 'Iterable 객체의 특정 요소를 제거하기 위한 키워드'라고만 이해하고 넘어가도록 합시다.
합과 곱
Python의 List는 서로 합하고, 정수와 곱할 수 있습니다.
print([1, 2, 3] + [8, 9]) # [1, 2, 3, 8, 9] print([1, 2, 3] * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3] |
view rawlist-sum-mul.py hosted with ❤ by GitHub
값이 모두 n이고 길이가 m인 리스트 만들기
List의 곱을 이용해 값이 모두 n이고 길이가 m인 리스트를 만들 수 있습니다. [n] * m 코드를 사용하면 됩니다.
print([0] * 100) # [0, 0, 0, ..., 0] |
view rawinitialized-list.py hosted with ❤ by GitHub
======================================================
Tuple
Tuple은 Read-only(불변) List라고 생각할 수 있습니다. List처럼 나열된 값을 다루지만, 한 번 선언되고 나면 값의 생성, 수정, 삭제가 불가능합니다.
t = () # 빈 튜플 t = (1, 2, 3) # 소괄호로 감싸고, 쉼표로 구분 t = 1, 2, 3 # 소괄호 생략 t = (1, 2, 'hi!') # 어떤 자료형이든 사용할 수 있음 t = (1, 2, (1, 2, 3)) # 다중 튜플 t = (1,) # 값이 하나 뿐인 튜플 t = 1, # 소괄호 생략 print(t) # (1,) |
view rawtuple.py hosted with ❤ by GitHub
인덱싱과 슬라이싱
Tuple도 List와 동일한 형태의 인덱싱과 슬라이싱이 가능합니다.
t = 1, 2, 3, 4, 5 # --- Indexing --- print(t[-2]) # 4 # --- Slicing --- print(t[1:-2]) # (2, 3) |
view rawtuple-indexing-slicing.py hosted with ❤ by GitHub
합과 곱
Tuple도 서로 합하고 정수와 곱할 수 있습니다. 합과 곱은 해당 연산의 결과를 리턴하므로, 실제 튜플에는 변동이 생기지 않기 때문에 Read-only의 룰을 위반하지 않으므로 가능한 것입니다.
print((1, 2, 3) + (8, 9)) # (1, 2, 3, 8, 9) print((1, 2, 3) * 3) # (1, 2, 3, 1, 2, 3, 1, 2, 3) |
view rawtuple-sum-mul.py hosted with ❤ by GitHub
출처 : https://planbs.tistory.com/entry/Python-Iterable-%EC%9E%90%EB%A3%8C%ED%98%95-List-Tuple
'코딩' 카테고리의 다른 글
BeautifulSoup4 크롤링 사용법 정리 (0) | 2021.07.13 |
---|---|
데이터 구조 (0) | 2021.07.13 |
JSON 이란? (0) | 2021.07.13 |
디렉토리(directory) (0) | 2021.07.11 |
join() (0) | 2021.07.10 |
댓글