-
7. 리스트와 튜플 사용하기Python/Grammar 2022. 12. 1. 12:51
# 1. 리스트 만들기
변수에 값을 저장할 때 대괄호로 묶어주면 리스트가 되고, 리스트 안의 각 요소(element)는 콤마로 구분해준다.
1-1. 리스트에 여러가지 자료형 저장하기
: 리스트는 문자열, 정수, 실수, 불 등 모든 자료형을 저장할 수 있으며, 여러 가지 자료형을 섞어서 저장해도 된다.
>>> a = [1, 1.0, 'hello', True] >>> a [1, 1.0, 'hello', True] >>> type(a[2]) <class 'str'> >>> type(a[3]) <class 'bool'>
1-2. range를 사용해 리스트 만들기
- list(range(횟수)): 지정한 횟수(0~지정한 횟수 -1)만큼 숫자를 생성
- list(range(시작, 끝)): 시작으로 지정한 숫자부터 끝으로 지정한 숫자 -1까지 연속된 숫자를 생성
- list(range(시작, 끝, 증가폭)): 증가폭까지 지정하면 해당 값만큼 증가하면서 숫자를 생성
* 증가폭을 음수로 지정하면 해당 값만큼 감소하는 숫자를 생성할 수 있음.
# 0부터 9까지 연속적인 숫자 리스트 생성 >>> a = range(10) >>> print(type(a)) <class 'range'> >>> a = list(range(10)) # list()함수로 빈 리스트를 만들고 그 안에 range()함수를 이용해 요소를 채워넣는다. >>> print(a) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> print(type(a)) <class 'list'>
# 2부터 13까지의 숫자를 가진 리스트 생성 >>> a = list(range(2, 14)) >>> print(a) [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
# 2부터 13까지 3씩 증가하는 숫자를 가진 리스트 생성 >>> a = list(range(2, 14, 3)) >>> print(a) [2, 5, 8, 11]
# 20부터 11까지 감소하는 리스트 생성 >>> a = list(range(20, 10, -1)) >>> print(a) [20, 19, 18, 17, 16, 15, 14, 13, 12, 11]
# 2. 튜플 사용하기
튜플은 리스트와 동일한 기능을 하나 튜플 안에 저장된 요소를 변경, 추가, 삭제할 수 없다는 특징이 있다. 즉, 읽기 전용이다. 변수에 값을 저장할 때 소괄호로 묶어주면 튜플이 되며, 각 값은 콤마로 구분해준다. 콤마로 구분한 값들은 소괄호로 묶어주지 않아도 튜플이 된다.
튜플도 리스트처럼 여러 가지 자료형을 가진 요소들을 포함할 수 있다.
>>> a = (1, 2, 3, 4, 5) >>> print(a) (1, 2, 3, 4, 5) >>> a = 1, 2, 3, 4, 5 >>> print(a) (1, 2, 3, 4, 5)
2-1. 요소가 한 개 들어있는 튜플 만들기
: 요소가 한 개 들어있는 튜플을 만들기 위해서는 요소 다음에 꼭 콤마를 붙여줘야 한다. 콤마를 붙이지 않으면 요소 자체가 할당된다. 괄호 속에 넣지 않고 콤마만 붙여도 튜플을 만들 수 있다.
>>> a = (1) >>> print(type(a)) <class 'int'> >>> a = (1, ) >>> print(type(a)) <class 'tuple'> >>> a = 1, >>> print(type(a)) <class 'tuple'>
2-2. range를 사용해 튜플 만들기
- 튜플 = tuple(range(횟수))
※ range를 사용해 리스트 만드는 방법과 같다.
# 3. 리스트와 튜플 응용하기
3-1. 리스트를 튜플로 만들고 튜플을 리스트로 만들기
- tuple() 안에 리스트를 넣으면 리스트를 튜플로 만들 수 있다.
- list() 안에 튜플을 넣으면 튜플을 리스로 만들 수 있다.
# 리스트를 튜플로 >>> a = [1, 2, 3] >>> print(tuple(a)) (1, 2, 3) # 튜플을 리스트로 >>> a = (1, 3, 4) >>> print(list(a)) [1, 3, 4]
3-2. 문자 튜플, 문자 리스트 생성하기
: list와 tuple 안에 문자열을 넣는다.
- list('문자열')
- tuple('문자열')
>>> a = 'HELLO' >>> print(list(a)) ['H', 'E', 'L', 'L', 'O'] >>> a = 'BYE' >>> print(tuple(a)) ('B', 'Y', 'E')
3-3. 리스트와 튜플로 여러 개의 변수 만들기
: 리스트와 튜플을 사용하면 변수 여러 개를 한 번에 만들 수 있다. 이 때 변수의 개수와 리스트/튜플의 요소 개수는 같아야 한다.
>>> a, b, c = (1, 2, 3) >>> print(a, b, c) 1 2 3
3-4. 리스트와 튜플 변수로 여러 개의 변수 만들기
: 리스트 / 튜플 "언패킹(Unpacking)"을 통해 리스트나 튜플의 요소를 변수 여러개에 할당할 수 있다.
( 반대로 패킹(Packing)은 변수에 리스트 또는 튜플을 할당하는 과정을 의미 )
>>> x = [1, 2, 4] >>> a, b, c = x # 수동으로 리스트 x를 언패킹 >>> print(a, b, c) 1 2 4 >>> print(*x) # 애스터리스크를 사용하여 리스트 x를 언패킹 1 2 4 # 수동으로 언패킹한 결과와 똑같음
# 예제 1. range로 리스트 만들기 (본문 10.4 연습문제)
다음 소스 코드를 완성하여 리스트 [5, 3, 1, -1, -3, -5, -7, -9]가 출력되게 만드세요. 리스트를 만들 때는 range를 사용해야 합니다.
a = list(range(5, -10, -2)) print(a)
# 예제 2. range로 튜플 만들기 (본문 10.5 심사문제)
표준 입력으로 정수가 입력됩니다. range의 시작하는 숫자는 -10, 끝나는 숫자는 10이며 입력된 정수만큼 증가하는 숫자가 들어가도록 튜플을 만들고, 해당 튜플을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).
a = int(input()) # input으로 입력받은 값의 자료형은 문자열이므로 int함수를 사용해 정수로 형변환 print(tuple(range(-10, 10, a)))
'Python > Grammar' 카테고리의 다른 글
9. 딕셔너리 만들기 (0) 2022.12.02 8. 시퀀스 자료형 사용하기 (0) 2022.12.01 6. 문자열 사용하기 (0) 2022.11.30 5. 불과 비교, 논리 연산자 알아보기 (0) 2022.11.30 4. 출력 방법 알아보기 (0) 2022.11.29