Pythonã®range颿°ã§ç¹°ãè¿ãåŠçãæžãæ¹æ³
Pythonã®ç¹°ãè¿ãåŠçã«ã€ããŠåŠãã§ãããšå¿ ãåºçŸããã®ããrange颿°ããã®é¢æ°ã¯ãç¯å²ãæå®ããŠç¹°ãè¿ãåŠçããããªãããšãå¯èœã§ãç¹å®ã®ç¯å²ãç¹°ãè¿ãåŠçããããšãã§ããã®ã§ãéåžžã«æè»ã«æ±ãããšãã§ãã颿°ã§ãããã®èšäºã§ã¯ãããã«è©³ããPythonã®range() ãšãxrange()ã®éãã«ã€ããŠããforæã§ã®å®éã®äœ¿ãæ¹ããŸããéã«ãŒã颿°ã®ããæ¹ã«ã€ããŠè§£èª¬ããŠããŸããPythonã§ç¹°ãè¿ãæ§æãåŠç¿ããŠãããšãå¿
ãåºãŠããã®ã range颿° ã§ãã
range颿°ã¯ãé£ç¶ããæ°åãªããžã§ã¯ããäœãæ©èœãæã£ã颿°ã§ãforæã®äžã§äœ¿ãããšãã§ããããéã«ãŒãã§äœ¿ã£ããããããšãã§ãããšãŠãã¹ããŒãã«ç¹°ãè¿ããè¡ãããšãã§ãã颿°ã§ãã
ä»åã¯ãPythonã®range颿°ãåŠç¿ããŠããæ¹ã«åããŠãrange颿°ã®äœ¿ãæ¹ãªã©ãäžå¿ã«ç޹ä»ããŠãããŸãã
Python2ãšPython3ã§ã®range()ã®éã

ãŸããPythonã«ã¯2ç³»ãš3ç³»ããããŸãããã©ã¡ãã®ããŒãžã§ã³ã䜿ã£ãŠèšè¿°ãããã«ãã£ãŠãrange颿°ã®äœ¿ãæ¹ã¯ç°ãªããŸããåãæžãæ¹ãããŠããPythonã®ç³»çµ±ãç°ãªããšäœ¿ããªãæ§æãããã®ã§ã泚æããŠäœ¿ãããã«ããŸãããã
range()ãšxrange()ã®éãã¯ïŒ
ã§ã¯ãrange()ãšxrange()ã«ã€ããŠè§£èª¬ããŠãããŸãã
range() ãšã¯ãforæããªã¹ããªã©ã§äœ¿ãããŠãããé£ç¶ããæ°ã®ãªã¹ããè¿ã颿°ã§ããäžæ¹ãxrange() ã¯ãé£ç¶ããæ°ã®ãªããžã§ã¯ããè¿ããŠããã颿°ã®ããšã§ãã
äžèŠåãåããããŠããããã«èŠãã range() ãš xrange() ã§ãããå®ã¯ïŒã€ã«ã¯æ»ãå€ã®ãªããžã§ã¯ããç°ãªããšããéãããããŸãã
range()ããªã¹ããè¿ãã®ã«å¯ŸããŠãxrange()ã¯ã€ãã¬ãŒã¿ãšåŒã°ãããªããžã§ã¯ããè¿ããŸãã
ã§ã¯å
·äœçã«ã©ã®ããã«äœ¿ãã®ãèŠãŠãããŸããããPythonã®ããã°ã©ã ã§ã以äžã®ããã«æžããŠã¿ãŸãããã
â» Python2ç³»ã§å®è¡ããŠãã ãããçç±ã¯åŸè¿°ããŸãã
print(type(range(10))) #range()
print(type(xrange(10))) #xrange()
å®è¡çµæ
<type 'list'>
<type 'xrange'>
ãã®ããã«ãrange()ããªã¹ãããxrange()ãxrangeãªããžã§ã¯ããè¿ããŠããã®ãåãããŸããããã¯ãã«ãŒãåŠçãããæã®ã¡ã¢ãªè² è·ãèãããšåãããããã§ãã
äŸãã°ã10000åã®ã«ãŒãããããšä»®å®ããå Žåãrange()ã§ã«ãŒãããããšãããšã0ãã9999ã®å€ãæ ŒçŽãããªã¹ããäœæããŠããŸãã
xrange()ã¯ã€ãã¬ãŒã¿ã䜿ããæ¬¡ã®èŠçŽ ã«ã¢ã¯ã»ã¹ããããšãç¹°ãè¿ãã€ã³ã¿ãŒãã§ã€ã¹ãšããŠè¿ããŠããŸããããã«ãã£ãŠãèšå€§ãªã¡ã¢ãªè² æ
ããããªããŠãåé¡ãªãåŠçãã§ããããã«ãªãã®ã§ãã
Python3ã§ã¯xrange()ã䜿ããªãïŒ
倧åæãšããŠçè§£ããŠãããŠæ¬²ããã®ããPythonã®3ç³»ã§ã¯xrange()ã䜿ãããšãã§ããªããšããããšã§ãã
å
ã»ã©ãxrange()ã«ã€ããŠãèšå€§ãªã¡ã¢ãªè² æ
ã軜æžããŠããã圹å²ããããšããããšã«ã€ããŠè¿°ã¹ãŸãããããããPython3ç³»ã§ã¯ãããåé€ãããŠããŸã£ãã®ã§ãã
ããã¯ãPython3ç³»ãã¹ããã¯ãšããŠå£åããèš³ã§ã¯ãªããåçŽã«xrange()ã®æ©èœããrange()ã«è¿œå ããŠãrange()ã®æ©èœãæ¡åŒµãããšããããšã§ãã
詊ãã«ãPythonã®3ç³»ã䜿ã£ãŠ xrange()ãå®è¡ããŠã¿ãŸããã
Python 3ç³»
print(type(xrange(10)))
å®è¡çµæ
Traceback (most recent call last):
File "Main.py", line 4, in <module>
print(type(xrange(10)))
NameError: name 'xrange' is not defined
Python 3ç³»ã§å®è¡ããå Žåãäžèšã®ãããªå®è¡çµæã«ãªã£ãŠããŸããŸããxrange() ã¯é¢æ°ããšåé€ãããŠããã®ã§ããšã©ãŒãåºãŠããŸãèšèšã«ãªã£ãŠããŸãã
Python 3ç³»ãå©çšããŠããæ¹ã¯ ãxrange() ã䜿ãããšãåºæ¥ãªãã®ã§æ³šæããŸãããã
range颿°ã®äœ¿ãæ¹ã¯ïŒåŒæ°ãéèŠïŒ

ã§ã¯ãããããã¯ãå ·äœçã«range颿°ã®äœ¿ãæ¹ã«ã€ããŠèŠãŠãããŸãã
åé ã§ã説æããããã«ãrange颿°ã¯foræã䜿ã£ãŠã«ãŒãåŠçã®åæ°ãæ³å®ããããç¹°ãè¿ãã®å€ããªã¹ãã«æ ŒçŽãããæã«äœ¿ããŸããããã§ã¯ãåºæ¬çãªäœ¿ãæ¹ãæåã«èŠãŠããã£ãããšãå ·äœçãªæžãæ¹ã«ã€ããŠã詳ãã説æããŠãããŸãã
åºæ¬çãªäœ¿ãæ¹
ãŸãã¯ãrange()ã®åºæ¬çãªäœ¿ãæ¹ããèŠãŠãããŸãããã
åºæ¬çãªäœ¿ãæ¹ãšããŠã0ããä»»æã®å€ãŸã§ã®é£çªãæå®ããŠåºåããæ¹æ³ããããŸãã
åãšããŠã¯ãârange(stop)âãšãããŠããŠãåŒæ°ã«æŽæ°ãïŒã€æå®ãããšã0 ã stop ãŸã§ã®é£çªãçæãããŸãã
print(list(range(3)))
å®è¡çµæ
[0,1,2]
ããã¯ã3ãŸã§ã®é£çªãçæããŠããŸãããªããstopã«å ¥ã£ãŠããå€ã¯åºåãããªãã®ã§æ³šæãå¿ èŠã§ããïŒãã®å Žåã3ããåºåãããŠããªããïŒ
ãŸããè² ã®å€ãå ¥ãããšã空ã®å€ãåºåãããããã«ãªã£ãŠããŸãã
print (list (range(-3)))
å®è¡çµæ
[]
foræã§ã®range颿°ã®äœ¿ãæ¹
range颿°ã®äœ¿ãæ¹ãšããŠã¯ãåºæ¬çã«foræãªã©ã®ç¹°ãè¿ãåŠçã«æ±ããããããšãå€ãã®ã§ãåºæ¬çã«ã¯ä»¥äžã®ããã«äœ¿ããŸãã
for i in range(4):
print (i)
ãã®å Žåã¯ãã«ãŒãæ§æã®äžã§ ârange(4)â ã䜿ãããšã§ã0ã3ãŸã§ã®ç¯å²ãæå®ããŠãâprint iâ ã§ã«ãŒãåæ°åïŒãã®å Žåã¯4åïŒåºåããŠããŸãã
å®è¡çµæ
0
1
2
3
ä»»æã®ç¯å²ã§ã®çå·®æ°åã§ã®range颿°ã®äœ¿ãæ¹
éã«ãŒãããããæã¯ãrange颿°ãïŒã€ã®åŒæ°ãçšããŠèšè¿°ããŸãã
ãrange(start, stop, step)ããšããæ§æã«ãªãããstartãéšåã¯éå§å€ããstopãéšåã¯çµäºå€ããstepãéšåã¯å¢å å€ãšãã颚ã«åœ¢æãããŠãããŸãã
å ·äœçã«ã¯ä»¥äžã®äŸãã¿ãŠèŠãŸãããã
print (list (range(2, 5, 1 )))
ãã®å Žåãéå§å€ã2ãçµäºå€ã5ã§ãå¢å å€ã1ãªã®ã§ãæèã«ãããšã2ãã5ãŸã§ã®ç¯å²ã1ãã€å¢å ããæ°å€ããšããããšã«ãªããŸãã
å®è¡çµæ
[2.3.4]
ãã¡ãããstepã®æ¬ã1ã§ã¯ãªã2ã«ãããšã2ãã€å¢å ããã®ã§ã[2,4]ãçµæãšãªããŸãã
éã«ãŒãã§ã®range颿°ã®äœ¿ãæ¹
éã«ãŒãããããæã¯ãå ã»ã©ãšåæ§ã«ãrange颿°ãïŒã€ã®åŒæ°ãçšããŠèšè¿°ããŸãã
éã®å Žåã¯ãå ã»ã©ãšå°ãå€åãããŠãstart > stopã«ããŠãstepãè² ã®æŽæ°ã«ããããšã§ãéã«ãŒãããããããšãåºæ¥ãŸãã
print (list (range(10, 2, -2 )))
å®è¡çµæ
[10, 8, 6, 4]
ãã ãããã ãšããã¡ãã¡startãšstopã®æ°å€ãèããªããã°ãªããªãã®ã§ãéåžžã«æéãããã£ãŠããŸããŸãããã£ãšç°¡åã«è¡šçŸããããã«ã¯ãçµã¿èŸŒã¿é¢æ°ã®ãreversed()ã颿°ã䜿ããšãå ã»ã©ã®çå·®æ°åã®å¢å æ§æã®æ°åãåæã«ã²ã£ããè¿ããŠãããã®ã§ãäœãèããã«ãéåžžã«ç°¡åã«ã§ããã®ã§ããããã§ãã
print(list(reversed(range(1, 10, 3))))
å®è¡çµæ
[7, 4, 1]
ãŸãšã
ãããã§ããã§ããããïŒ
Pythonã§ç¹°ãè¿ãåŠçãè¡ãããå Žåãrange颿°ã¯ãšãŠãæçšãªé¢æ°ã§ããç¹å®ã®ç¯å²ãæå®ããŠç¹°ãè¿ãåŠçãè¡ãããšãã§ããã®ã§ããšãŠãã¹ããŒãã«ç¹°ãè¿ãåŠçãè¡ãããšãã§ããŸãã
Python ããã°ã©ãã³ã°ã®äžã§ç¹°ãè¿ãåŠçãå¿ èŠãªå Žåã¯ãæ¯éãšã掻çšããŠãããŸãããã
ãã®èšäºã®ããŒã¯ãŒãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
TECH PLAYã§ã¯ãITãšã³ãžãã¢åãã®å匷äŒã»ã€ãã³ãæ
å ±ãæäŸããŠããŸãã
èå³ã®ããæ¹ã¯ãã²ãåå ãã ããã
- ã Pythonãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
- ãããã°ã©ãã³ã°ãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
- ãåå¿è ãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã











