๐Ÿ“š
DLIP
  • Introduction
  • Prerequisite
  • Image Processing Basics
    • Notes
      • Thresholding
      • Spatial Filtering
      • Masking with Bitwise Operation
      • Model n Calibration
    • Tutorial
      • Tutorial: Install OpenCV C++
      • Tutorial: Create OpenCV Project
      • Tutorial: C++ basics
      • Tutorial: OpenCV Basics
      • Tutorial: Image Watch for Debugging
      • Tutorial: Spatial Filter
      • Tutorial: Thresholding and Morphology
      • Tutorial: Camera Calibration
      • Tutorial: Color Image Processing
      • Tutorial: Edge Line Circle Detection
      • Tutorial: Corner Detection and Optical Flow
      • Tutorial: OpenCV C++ Cheatsheet
      • Tutorial: Installation for Py OpenCV
      • Tutorial: OpenCv (Python) Basics
    • LAB
      • Lab Report Template
      • Lab Report Grading Criteria
      • LAB Report Instruction
      • LAB: Grayscale Image Segmentation
        • LAB: Grayscale Image Segmentation -Gear
        • LAB: Grayscale Image Segmentation - Bolt and Nut
      • LAB: Color Image Segmentation
        • LAB: Facial Temperature Measurement with IR images
        • LAB: Magic Cloak
      • LAB: Straight Lane Detection and Departure Warning
      • LAB: Dimension Measurement with 2D camera
      • LAB: Tension Detection of Rolling Metal Sheet
  • Deep Learning for Perception
    • Notes
      • Lane Detection with Deep Learning
      • Overview of Deep Learning
        • Object Detection
        • Deep Learning Basics: Introduction
        • Deep Learning State of the Art
        • CNN, Object Detection
      • Perceptron
      • Activation Function
      • Optimization
      • Convolution
      • CNN Overview
      • Evaluation Metric
      • LossFunction Regularization
      • Bias vs Variance
      • BottleNeck Unit
      • Object Detection
      • DL Techniques
        • Technical Strategy by A.Ng
    • Tutorial - PyTorch
      • Tutorial: Install PyTorch
      • Tutorial: Python Numpy
      • Tutorial: PyTorch Tutorial List
      • Tutorial: PyTorch Example Code
      • Tutorial: Tensorboard in Pytorch
      • Tutorial: YOLO in PyTorch
        • Tutorial: Yolov8 in PyTorch
        • Tutorial: Train Yolo v8 with custom dataset
          • Tutorial: Train Yolo v5 with custom dataset
        • Tutorial: Yolov5 in Pytorch (VS code)
        • Tutorial: Yolov3 in Keras
    • LAB
      • Assignment: CNN Classification
      • Assignment: Object Detection
      • LAB: CNN Object Detection 1
      • LAB: CNN Object Detection 2
      • LAB Grading Criteria
    • Tutorial- Keras
      • Train Dataset
      • Train custom dataset
      • Test model
      • LeNet-5 Tutorial
      • AlexNet Tutorial
      • VGG Tutorial
      • ResNet Tutorial
    • Resource
      • Online Lecture
      • Programming tutorial
      • Books
      • Hardware
      • Dataset
      • Useful sites
  • Must Read Papers
    • AlexNet
    • VGG
    • ResNet
    • R-CNN, Fast-RCNN, Faster-RCNN
    • YOLOv1-3
    • Inception
    • MobileNet
    • SSD
    • ShuffleNet
    • Recent Methods
  • DLIP Project
    • Report Template
    • DLIP 2021 Projects
      • Digital Door Lock Control with Face Recognition
      • People Counting with YOLOv4 and DeepSORT
      • Eye Blinking Detection Alarm
      • Helmet-Detection Using YOLO-V5
      • Mask Detection using YOLOv5
      • Parking Space Management
      • Vehicle, Pedestrian Detection with IR Image
      • Drum Playing Detection
      • Turtle neck measurement program using OpenPose
    • DLIP 2022 Projects
      • BakeryCashier
      • Virtual Mouse
      • Sudoku Program with Hand gesture
      • Exercise Posture Assistance System
      • People Counting Embedded System
      • Turtle neck measurement program using OpenPose
    • DLIP Past Projects
  • Installation Guide
    • Installation Guide for Pytorch
      • Installation Guide 2021
    • Anaconda
    • CUDA cuDNN
      • CUDA 10.2
    • OpenCV
      • OpenCV Install and Setup
        • OpenCV 3.4.13 with VS2019
        • OpenCV3.4.7 VS2017
        • MacOS OpenCV C++ in XCode
      • Python OpenCV
      • MATLAB-OpenCV
    • Framework
      • Keras
      • TensorFlow
        • Cheat Sheet
        • Tutorial
      • PyTorch
    • IDE
      • Visual Studio Community
      • Google Codelab
      • Visual Studio Code
        • Python with VS Code
        • Notebook with VS Code
        • C++ with VS Code
      • Jupyter Notebook
        • Install
        • How to use
    • Ubuntu
      • Ubuntu 18.04 Installation
      • Ubuntu Installation using Docker in Win10
      • Ubuntu Troubleshooting
    • ROS
  • Programming
    • Python_Numpy
      • Python Tutorial - Tips
      • Python Tutorial - For Loop
      • Python Tutorial - List Tuple, Dic, Set
    • Markdown
      • Example: API documentation
    • Github
      • Create account
      • Tutorial: Github basic
      • Tutorial: Github Desktop
    • Keras
      • Tutorial Keras
      • Cheat Sheet
    • PyTorch
      • Cheat Sheet
      • Autograd in PyTorch
      • Simple ConvNet
      • MNIST using LeNet
      • Train ConvNet using CIFAR10
  • Resources
    • Useful Resources
    • Github
Powered by GitBook
On this page
  • Python Tutorial - List, Set, Dict, Tuple
  • Reference
  • Overview
  • Examples
  • LIST ์‚ฌ์šฉ์˜ˆ์‹œ
  • Tuple ์‚ฌ์šฉ์˜ˆ์‹œ
  • Dictionary ์‚ฌ์šฉ์˜ˆ์‹œ
  • Set ์‚ฌ์šฉ์˜ˆ์‹œ
  • 19. for in ๋ฐ˜๋ณต๋ฌธ, Range, enumerate
  • 1. for in ๋ฐ˜๋ณต๋ฌธ
  • 2. range
  • 3. enumerate

Was this helpful?

  1. Programming
  2. Python_Numpy

Python Tutorial - List Tuple, Dic, Set

PreviousPython Tutorial - For LoopNextMarkdown

Was this helpful?

Python Tutorial - List, Set, Dict, Tuple

Reference

์ ํ”„ ํˆฌ ํŒŒ์ด์ฌ:

https://wikidocs.net/book/1

Overview

Python ๊ฐ์ฒด์—๋Š” mutable๊ณผ immutable ๊ฐ์ฒด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Mutable: ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ๊ฐ’ ์ˆ˜์ • ๊ฐ€๋Šฅ

  • Immutable: ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ๊ฐ’ ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅ. ๊ธฐ์กด ๋ณ€์ˆ˜๊ฐ’์„ ์ˆ˜์ •ํ•  ์‹œ ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ƒ์„ฑ๋จ

๊ฐ์ฒด ์ง‘ํ•ฉ์€, mutable ๋ฐ ์ˆœ์„œ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๊ฐ์ฒดํ˜•ํƒœ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

class
์„ ์–ธ
์„ค๋ช…
๊ตฌ๋ถ„

list

[ ]

mutable, ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด ์ง‘ํ•ฉ

mutable

tuple

( )

immutable, ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด ์ง‘ํ•ฉ

immutable

dict

{ }

mutable, ์ˆœ์„œ ์—†๊ณ , key์™€ value๊ฐ€ ๋งตํ•‘๋œ ๊ฐ์ฒด

mutable

set

{ : }

mutable, ์ˆœ์„œ ์—†๋Š” ๊ณ ์œ ํ•œ ๊ฐ์ฒด ์ง‘ํ•ฉ

mutable

List

  • ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ˆ˜์ •๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

  • list ๋Š” [] ๋Œ€๊ด„ํ˜ธ๋กœ ์ž‘์„ฑ๋˜์–ด์ง€๋ฉฐ, ๋‚ด๋ถ€ ์›์†Œ๋Š” ,๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

Tuple

  • tuple(ํŠœํ”Œ)์€ ๋ถˆ๋ณ€ํ•œ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

  • listํ˜•๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Dictionary

  • immutableํ•œ ํ‚ค(key)์™€ mutableํ•œ ๊ฐ’(value)์œผ๋กœ ๋งตํ•‘๋˜์–ด ์žˆ๋Š” ์ˆœ์„œ๊ฐ€ ์—†๋Š” ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

  • ํ‚ค๋กœ๋Š” immutableํ•œ ๊ฐ’์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, mutableํ•œ ๊ฐ์ฒด๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • ์ค‘๊ด„ํ˜ธ๋กœ ๋˜์–ด ์žˆ๊ณ  ํ‚ค์™€ ๊ฐ’์ด ์žˆ์Šต๋‹ˆ๋‹ค. {"a" : 1, "b":2}

Set

  • ์ˆœ์„œ๊ฐ€ ์—†๊ณ , ์ง‘ํ•ฉ์•ˆ์—์„œ๋Š” uniqueํ•œ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

  • ๊ทธ๋ฆฌ๊ณ  mutable ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

  • ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ dictionary์™€ ๋น„์Šทํ•˜์ง€๋งŒ, key๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ’๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. s = {3, 5, 7}

Examples

# List
a = [1, 3, 5, 7]
b= ['c', 354, True]

# Tuplet
t = (1, "korea", 3.5, 1)


# Dict
dic_a = {1: 5, 2: 3}  
dic_b = {(1,5): 5, (3,3): 3}  # immutable tuple๋งŒ Key๋กœ ๊ฐ€๋Šฅ
dic_c = { 3.6: 5, "abc": 3}

# Set
s = {3, 5, 7}
s = {"1", 3, 5, (1,3)} # immutable tuple๋งŒ element๋กœ ๊ฐ€๋Šฅ

LIST ์‚ฌ์šฉ์˜ˆ์‹œ

  • ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ˆ˜์ •๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

  • list ๋Š” [] ๋Œ€๊ด„ํ˜ธ๋กœ ์ž‘์„ฑ๋˜์–ด์ง€๋ฉฐ, ๋‚ด๋ถ€ ์›์†Œ๋Š” ,๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

Index, Slicing

  • ๋ฆฌ์ŠคํŠธ๋ณ€์ˆ˜[์‹œ์ž‘์ธ๋ฑ์Šค:์ข…๋ฃŒ์ธ๋ฑ์Šค:step]

  • ์ข…๋ฃŒ์ธ๋ฑ์Šค์˜ ์›์†Œ๋Š” ํฌํ•จ๋˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์•ž ์›์†Œ๊นŒ์ง€๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. step์€ ์ƒ๋žต๋ฉ๋‹ˆ๋‹ค.

a = [1, 3 , 5, 7]  # a[0] ~ a[3] ์ ‘๊ทผ ๊ฐ€๋Šฅ
a[-1]   	# >> 7    -1 ์—ญ์ˆœ ์ธ๋ฑ์‹ฑ
a[1:-1] 	# >> [3,5,7]
a[:2]		# >> [1,3]
a.index(3)  # >> 1


a.append(5)  # >> a = [1, 3 , 5, 7, 5] 
a+ [ 2, 7]   # >> a=[1, 3, 5, 7, 2, 7]
list("๊ฐ€๋‚˜๋‹ค") # >> ['๊ฐ€', '๋‚˜', '๋‹ค']


Tuple ์‚ฌ์šฉ์˜ˆ์‹œ

  • List์™€ ๊ฑฐ์˜ ๋™์ผํ•˜์ง€๋งŒ, ํŠœํ”Œ์€ ์š”์†Ÿ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.

  • const ์„ฑ๋Šฅ์œผ๋กœ ์‚ฌ์šฉํ• ๋•Œ ์œ ์šฉํ•จ

ta = (1, "korea", 3.5, 1)
tb= 1,2,5		# tuple๋กœ ์ธ์‹
tc = (1,)		# 1๊ฐœ element ์ด๋ฉด, ์‰ผํ‘œ๊ฐ€ ์žˆ์–ด์•ผ ํ•จ

Dictionary ์‚ฌ์šฉ์˜ˆ์‹œ

  • ๊ฐ’์€ ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ํ‚ค๊ฐ€ ์ค‘๋ณต๋˜๋ฉด ๋งˆ์ง€๋ง‰ ๊ฐ’์œผ๋กœ ๋ฎ์–ด์”Œ์›Œ์ง‘๋‹ˆ๋‹ค.

  • ์ˆœ์„œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค๋กœ๋Š” ์ ‘๊ทผํ• ์ˆ˜ ์—†๊ณ , ํ‚ค๋กœ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ‚ค๋กœ๋Š” immutableํ•œ ๊ฐ’์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, mutableํ•œ ๊ฐ์ฒด๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

dica={"a" : 1, "b":2}
dicb = { True: 5, "abc": 3} 

dicc = {[1,3]: 5, [3,5]: 3} # gives ERROR, used mutable list in KEY
dicc = {'a': [1, 2, 3]}  # OK, to use mutable list in VALUE

dicd={"a" : 1, "a":2}  # {'a': 2},  Key ์ค‘๋ณต์€ ๋ฎ์–ด์ง

querya= dica[0]  		# gives ERROR
querya= dica['a']		# >> querya=1

dica= {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}
dica.keys()				# >> dict_keys(['name', 'phone', 'birth'])
dica.values()			# >> dict_values(['pey', '010-9999-1234', '1118'])
dica.items()			# Key์™€ Value์˜ ์Œ์„ ํŠœํ”Œ๋กœ ๋ฌถ์€ ๊ฐ’์„ dict_items ๊ฐ์ฒด๋กœ ๋ฆฌํ„ดํ•œ๋‹ค. >> dict_items([ ...])

for k in dica.keys():
...    print(k) 		# >> name, phone, birth

Set ์‚ฌ์šฉ์˜ˆ์‹œ

  • ์ˆœ์„œ๊ฐ€ ์—†๊ณ , ์ง‘ํ•ฉ์•ˆ์—์„œ๋Š” uniqueํ•œ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

    set์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ํŠน์ง• ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ํ•„ํ„ฐ๋กœ ์ข…์ข… ์‚ฌ์šฉ๋œ๋‹ค

  • ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ dictionary์™€ ๋น„์Šทํ•˜์ง€๋งŒ, key๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ’๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • set(์ง‘ํ•ฉ) ๋‚ด๋ถ€ ์›์†Œ๋Š” ๋‹ค์–‘ํ•œ ๊ฐ’์„ ํ•จ๊ป˜ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, mutableํ•œ ๊ฐ’์€ ๊ฐ€์งˆ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ์€ ์ˆœ์„œ๊ฐ€ ์žˆ๊ธฐ(ordered) ๋•Œ๋ฌธ์— ์ธ๋ฑ์‹ฑ์„ ํ†ตํ•ด ์š”์†Ÿ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ, set ์ž๋ฃŒํ˜•์€ ์ˆœ์„œ๊ฐ€ ์—†๊ธฐ(unordered) ๋•Œ๋ฌธ์— ์ธ๋ฑ์‹ฑ์„ ํ†ตํ•ด ์š”์†Ÿ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์—†๋‹ค.

    • ๋งŒ์•ฝ set ์ž๋ฃŒํ˜•์— ์ €์žฅ๋œ ๊ฐ’์„ ์ธ๋ฑ์‹ฑ์œผ๋กœ ์ ‘๊ทผํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„์— ํ•ด์•ผ ํ•œ๋‹ค.

s1 = {3, 5, 7}
s2 = set([1, 2, 3])
s3 = set("Hello") 	# >> {'e', 'H', 'l', 'o'} , ์ค‘๋ณต ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ , ์ˆœ์„œ๊ฐ€ ์—†๋‹ค


l1 = list(s1)	# >> [3, 5, 7]
l1[0] 			# >> 3

s4 = set([1, 2, 3])
s4.update([4, 5, 6])  # >> s4={1, 2, 3, 4, 5, 6}
s4.add(50)			 # >>> s4={1, 50, 3}

19. for in ๋ฐ˜๋ณต๋ฌธ, Range, enumerate

1. for in ๋ฐ˜๋ณต๋ฌธ

  • ์—ฌํƒ€ ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ๋Š” ์ผ๋ฐ˜์ ์ธ for๋ฌธ, foreach๋ฌธ, for of๋ฌธ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ์‹์„ ํ•œ๊บผ๋ฒˆ์— ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

  • Python์—์„œ๋Š” for in๋ฌธ ํ•œ๊ฐ€์ง€ ๋ฐฉ์‹์˜ for ๋ฌธ๋งŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • REPL ์—์„œ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • for in ๋ฌธ ํ˜•์‹ ์ž…๋‹ˆ๋‹ค.

  • iterable์€ ์‚ฌ์ „์ ์˜๋ฏธ์™€ ๋˜‘๊ฐ™์ด ๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

for item in iterable:
  ... ๋ฐ˜๋ณตํ•  ๊ตฌ๋ฌธ...
  • iterable ๊ฐ์ฒด๋ฅผ ํŒ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์˜ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • collections.Iterable์— ์†ํ•œ instance์ธ์ง€ ํ™•์ธํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • isinstance ํ•จ์ˆ˜๋Š” ์ฒซ๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋‘๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ ํด๋ž˜์Šค์˜ instance์ด๋ฉด True๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ์•ž์„œ ๋‹ค๋ฃฌ ํƒ€์ž… ์ค‘ list, dictionary, set, string, tuple, bytes๊ฐ€ iterableํ•œ ํƒ€์ž…์ž…๋‹ˆ๋‹ค.

  • range๋„ iterable ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ ์•„๋ž˜์ชฝ์—์„œ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค.

  • for๋ฌธ์„ ๋™์ž‘์‹œ์ผœ๋ด…๋‹ˆ๋‹ค.

Copy>>> for i in var_list:
...     print(i)
... 
1
3
5
7

2. range

  • ์œ„์ชฝ for๋ฌธ์˜ range ๊ฒฐ๊ณผ ๊ฐ’์ด 0, 1, 2, 3, 4 ์ˆœ์„œ๋Œ€๋กœ ๊ฒฐ๊ณผ ๊ฐ’์ด ์ถœ๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • range๋Š” range(์‹œ์ž‘์ˆซ์ž, ์ข…๋ฃŒ์ˆซ์ž, step)์˜ ํ˜•ํƒœ๋กœ ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • range์˜ ๊ฒฐ๊ณผ๋Š” ์‹œ์ž‘์ˆซ์ž๋ถ€ํ„ฐ ์ข…๋ฃŒ์ˆซ์ž ๋ฐ”๋กœ ์•ž ์ˆซ์ž๊นŒ์ง€ ์ปฌ๋ ‰์…˜์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • ์‹œ์ž‘์ˆซ์ž์™€ step์€ ์ƒ๋žต๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

>>> range(5)
range(0, 5)
>>> for i in range(5):
...     print(i)
... 
0
1
2
3
4
  • range๋Š” ๊ฐ’์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค๋ฅธ ์ˆœ์„œ ์žˆ๋Š” ์ปฌ๋ ‰์…˜์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

>>> range(5,10)
range(5, 10)
>>> list(range(5,10))
[5, 6, 7, 8, 9]
>>> tuple(range(5,10))
(5, 6, 7, 8, 9)
  • step์„ ์‚ฌ์šฉํ•ด๋ด…๋‹ˆ๋‹ค.

Copy>>> list(range(10,20,2))
[10, 12, 14, 16, 18]
>>> list(range(10,20,3))
[10, 13, 16, 19]

3. enumerate

  • ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ ์‹œ ๋ช‡ ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์ธ์ง€ ํ™•์ธ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ์™€ ์ปฌ๋ ‰์…˜์˜ ์›์†Œ๋ฅผ tupleํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

>>> t = [1, 5, 7, 33, 39, 52]
>>> for p in enumerate(t):
...     print(p)
... 
(0, 1)
(1, 5)
(2, 7)
(3, 33)
(4, 39)
(5, 52)
  • tupleํ˜•ํƒœ ๋ฐ˜ํ™˜์„ ์ด์šฉํ•˜์—ฌ ์•„๋ž˜์ฒ˜๋Ÿผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

>>> for i, v in enumerate(t):
...     print("index : {}, value: {}".format(i,v))
... 
index : 0, value: 1
index : 1, value: 5
index : 2, value: 7
index : 3, value: 33
index : 4, value: 39
index : 5, value: 52
๋ฐ•์‘์šฉ