๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’๊ณต๋ถ€/Python

[Python] in range ์™€ enumerate

by rindev 2020. 11. 19.

๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ...

 

๐Ÿ’ iterable

  • iterable ๊ฐ์ฒด = ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด (list, dict, set, str, bytes, tuple, range)

๐Ÿ’ iterator

  • iterator ๊ฐ์ฒด = ๊ฐ’์„ ์ฐจ๋ก€๋Œ€๋กœ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด
  • next() ๋ฉ”์†Œ๋“œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด์ด๋‹ค
  • iterable๊ฐ์ฒด != iterator ๊ฐ์ฒด (๋ฐ˜๋“œ์‹œ ๊ฐ™์€๊ฑด ์•„๋‹ˆ๋‹ค!!)
  • list๋Š” iterable์ด์ง€๋งŒ next()๊ฐ€ ๋จน์ง€์•Š๋Š”๋‹ค. iter()๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ list๋ฅผ list iterator ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝํ•œ ๋‹ค์Œ์—๋Š” next()๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ํ•˜์ง€๋งŒ.. ๊ตณ์ด iter()๋ฅผ ์“ฐ์ง€ ์•Š์•„๋„ for๋ฌธ์œผ๋กœ ์ˆœ์ฐจ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ–ˆ๋˜ ์ด์œ ๋Š”! ํŒŒ์ด์ฌ ๋‚ด๋ถ€์—์„œ ์ž„์‹œ๋กœ list๋ฅผ iterator๋กœ ์ž๋™๋ณ€ํ™˜ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๐Ÿ‘

 

์•”ํŠผ.. ์œ„์—๋Š” ๊ทธ๋ ‡๋‹ค๊ณ  ํ•œ๋‹ค

 

๐Ÿ‘ํŒŒ์ด์ฌ์—์„œ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š” ํŒจํ„ด

s = [1,3,5]
for i in range(len(s)):
	print(s[i])

 

๐Ÿ‘ํŒŒ์ด์ฌ์—์„œ ๊ถŒ์žฅํ•˜๋Š” ํŒจํ„ด

s = [1,3,5]
for v in s:
	print(v)

 

๊ทผ๋ฐ ๊ถŒ์žฅ ํŒจํ„ด์„ ์“ฐ๋ฉด ์ธ๋ฑ์Šค๋ฅผ ๋ชจ๋ฅด๋Š”๋ฐ์š”? <-๊ทธ๋ž˜์„œ ๋งจ๋‚  for i in range~ ํ–ˆ์Œ

ํ•˜์ง€๋งŒ ์ด๋Ÿฐ๊ฒŒ ์žˆ์—ˆ๋‹ค๊ณ  ํ•˜๋„ค์š”

 

๐Ÿ’ฅ enumerate

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

t = [1,3,6,7,8,9]
for p in enumerate(t):
	print(p)

์œ„์—์ฒ˜๋Ÿผ ์ถœ๋ ฅ์ด ๋œ๋‹ค!

๋ฌธ์ž์—ด ํฌ๋งทํŒ…์„ ์‚ฌ์šฉํ•˜์—ฌ

for i,v in enumerate(t):
	print("index : {} , value : {}".format(i,v))
   

๋ผ๊ณ  ํ•ด์ฃผ๋ฉด ๋” ๋ณด๊ธฐ ์ข‹๊ฒ ์ฅฌ๐Ÿ™‚

๋Œ“๊ธ€