• Home
  • About
    • Ryureka Moment photo

      Ryureka

      Sin Prisa, Sin Pausa

    • About Me
    • Facebook
    • Github
    • Youtube
  • Projects
  • Posts
    • Posts
    • ProblemSolvings
    • Tags
    • Blog
    • TIL
    • Examples
  • ProblemSolving
    • ProblemSolving
    • BruteForce
    • DFS
    • DP
    • Optimization
  • FrontEnd
    • FrontEnd
    • HTML
  • BackEnd
    • BackEnd
    • Spring
    • Node.js
    • DataBase
      • MySQL
  • Programming
    • Programming
    • Java
    • Python
  • ComputerScience
    • DataStructure
    • Algorithm

[파이썬 기초 문법] 9장. 튜플과 레인지

20 Jun 2019

Reading time ~3 minutes

이 포스트는 윤성우님의 저서 열혈 파이썬 기초편을 기반으로 작성한 글입니다.
  • 윤성우 열혈 파이썬 기초편
    • 9장.튜플과 레인지
      • 1.튜플(Tuple)
      • 2.튜플은 어디다 쓸 것인가?
      • 3.튜플 관련 함수와 연산자들
      • 4.리스트 관련
      • 5.범위를 지정하는 레인지
      • 6.레인지 범위 거꾸로 지정하기

윤성우 열혈 파이썬 기초편

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]




Python Share