[파이썬 기초 문법] 9장. 튜플과 레인지
20 Jun 2019
Reading time ~3 minutes
이 포스트는 윤성우님의 저서 열혈 파이썬 기초편을 기반으로 작성한 글입니다.
윤성우 열혈 파이썬 기초편
9장.튜플과 레인지
1.튜플(Tuple)
>>> lst = [1, 2, 3] # mutable 객체
>>> lst
[1, 2, 3]
>>> type(lst)
"<class 'list'>"
>>> tpl = (1, 2, 3) # immutable 객체
>>> tpl
(1, 2, 3)
>>> type(tpl)
"<class 'tuple'>"
2.튜플은 어디다 쓸 것인가?
>>> frns = [['동수', 131120], ['진우', 130312], ['선영', 130904]]
>>> frns = [('동수', 131120), ('진우', 130312), ('선영', 130904)]
사람의 생년월일과 같은 변하지 않는 데이터의 경우 변경 가능한 리스트가 아닌 변경 불가능한 튜플을 쓴다.
3.튜플 관련 함수와 연산자들
>>> nums = (3, 2, 5, 7, 1)
>>> len(nums) # 값의 개수는?
5
>>> max(nums) # 최댓값은?
7
>>> min(nums) # 최솟값은?
1
>>> nums = (1, 2, 3, 1, 2)
>>> nums.count(2) # 2가 몇 번 등장해?
2
>>> nums.index(1) # 가장 앞에(왼쪽에) 저장된 1의 인덱스 값은?
0
>>> nums = (1, 2, 3)
>>> 3 in nums # nums에 3이 있니?
True
>>> 2 not in nums # num에 2가 없니?
False
>>> nums + (4, 5) # num에 (4, 5)를 덧붙인 결과는?
(1, 2, 3, 4, 5)
>>> nums * 2 # nums를 두 개 덧붙인 결과는?
(1, 2, 3, 1, 2, 3)
>>> nums[0:3] # nums[0] ~ num[2]을 꺼내면?
(1, 2, 3)
>>> for i in (1, 3, 5, 7, 9):
print(i, end = ' ')
1 3 5 7 9
4.리스트 관련
>>> frns = [['동수', 131120], ['진우', 130312], ['선영', 130904]]
>>> frns[1][1] = 130102
>>> frns
[['동수', 131120], ['수진', 130102], ['선영', 130904]]
>>> frns = [('동수', 131120), ('진우', 130312), ('선영', 130904)]
>>> frns[0][0]
'동수'
>>> frns[0][1]
131120
5.범위를 지정하는 레인지
>>> for i in range(1, 11):
print(i, end = ' ')
1 2 3 4 5 6 7 8 9 10
>>> r = range(1, 10)
>>> type(r)
"<class 'range'>"
>>> r = range(1, 1000)
>>> r = range(1, 10)
>>> 9 in r
True
>>> 10 not in r
True
>>> list((1, 2, 3)) # 튜플을 리스트로
[1, 2, 3]
>>> list(range(1, 5)) # 레인지를 리스트로
[1, 2, 3, 4]
>>> list("Hello") # 문자열을 리스트로
['H', 'e', 'l', 'l', 'o']
>>> tuple([1, 2, 3]) # 리스트를 튜플로
(1, 2, 3)
>>> tuple(range(1, 5)) # 레인지를 튜플로
(1, 2, 3, 4)
>>> tuple("Hello") # 문자열을 튜플로
('H', 'e', 'l', 'l', 'o')
>>> lst = list(range(1, 16))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
>>> tpl = tuple(range(1, 16))
>>> tpl
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
>>> range(1, 10, 2) # 1부터 10 이전까지 2씩 증가하는 레인지
range(1, 10, 2)
>>> range(1, 10, 3) # 1부터 10 이전까지 3씩 증가하는 레인지
range(1, 10, 3)
>>> list(range(1, 10, 2)) # 1부터 10 이전까지 2씩 증가하는 리스트 만들기
[1, 3, 5, 7, 9]
>>> list(range(1, 10, 3)) # 1부터 10 이전까지 3씩 증가하는 리스트 만들기
[1, 4, 7]
6.레인지 범위 거꾸로 지정하기
>>> list(range(2, 10))
[2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(2, 10, 1))
[2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(10, 2))
[]
>>> list(range(10, 2, 1))
[]
>>> list(range(10, 2, -1)) # 10부터 1씩 감소하여 3까지 이르는 정수들
[10, 9, 8, 7, 6, 5, 4, 3]
>>> list(range(10, 2, -2)) # 10부터 2씩 감소하여 3까지 이르는 정수들
[10, 8, 6, 4]
>>> list(range(10, 2, -3)) # 10부터 3씩 감소하여 3까지 이르는 정수들
[10, 7, 4]