DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on • Edited on

range in Python

Buy Me a Coffee

*Memos:

  • My post explains enumerate().
  • My post explains zip().
  • My post explains variable assignment.
  • My post explains iterable unpacking in variable assignment.
  • My post explains * for iterable unpacking in variable assignment.
  • My post explains [] and () for variables in variable assignment.
  • My post explains [] and () for variables in for statement.

range() can create the iterable object of numbers between [start, stop) as shown below:

*Memos:

  • The 1st argument is start or stop(Required-Type:int).
    • It's a start index(inclusive) or stop index(exclusive).
    • Don't use start= or stop=.
  • The 2nd argument is stop(Optional-Type:int). *Don't use stop=.
    • It's a stop index(exclusive).
  • The 3rd argument is step(Optional-Default:1-Type:int):
    • It's the interval of elements.
    • It cannot be 0.
    • Don't use step=.
  • Only if one argument is set, the 1st argument is stop, then the iterable object [0, stop) is created.
  • A range object doesn't get MemoryError because it always takes the same small amount of memory and it's not an iterator.
v = range(4)
v = range(0, 4)
v = range(0, 4, 1)

print(v)
# range(0, 4)

print(type(v))
# <class 'range'>

print(v.start, v.stop, v.step)
# 0 4 1

print(v[0], v[1], v[2], v[3])
# 0 1 2 3

print(list(v))
# [0, 1, 2, 3]
Enter fullscreen mode Exit fullscreen mode
v1 = range(4)

print(v1)
# range(0, 4)

v2 = v1[1:3]

print(v2)
# range(1, 3)

print(list(v2))
# [1, 2]
Enter fullscreen mode Exit fullscreen mode
print(list(range(-5, 12, 3)))
# [-5, -2, 1, 4, 7, 10]

print(list(range(12, -5, -3)))
# [12, 9, 6, 3, 0, -3]

for i in range(4):
# for i in range(0, 4):
# for i in range(0, 4, 1):
    print(i)
# 0
# 1
# 2
# 3

for i in range(-5, 12, 3):
    print(i)
# -5
# -2
# 1
# 4
# 7
# 10

for i in range(12, -5, -3):
    print(i)
# 12
# 9
# 6
# 3
# 0
# -3
Enter fullscreen mode Exit fullscreen mode
fruits = ["Apple", "Orange", "Banana", "Kiwi", "Lemon", "Mango"]

for i in range(4):
# for i in range(0, 4):
# for i in range(0, 4, 1):
    print(fruits[i])
# Apple
# Orange
# Banana
# kiwi

for i in range(1, 6, 2):
    print(fruits[i])
# Orange
# Kiwi
# Mango

for i in range(5, 0, -2):
    print(fruits[i])
# Mango
# Kiwi
# Orange
Enter fullscreen mode Exit fullscreen mode
print(list(zip(range(4), range(-5, 12, 3), range(12, -5, -3))))
# [(0, -5, 12), (1, -2, 9), (2, 1, 6), (3, 4, 3)]

print(list(zip(range(4), range(-5, 12, 3), range(12, -5, -3)))[0])
# (0, -5, 12)

i, j, k = list(zip(range(4), range(-5, 12, 3), range(12, -5, -3)))[0]
print(i, j, k)
# 0 -5 12

for i, j, k in zip(range(4), range(-5, 12, 3), range(12, -5, -3)):
    print(i, j, k)
# 0 -5 12
# 1 -2 9
# 2 1 6
# 3 4 3
Enter fullscreen mode Exit fullscreen mode
enum = enumerate

print(list(enum(zip(range(4), range(-5, 12, 3), range(12, -5, -3)), 7)))
# [(7, (0, -5, 12)), (8, (1, -2, 9)), (9, (2, 1, 6)), (10, (3, 4, 3))]

print(list(enum(zip(range(4), range(-5, 12, 3), range(12, -5, -3)), 7))[0])
# (7, (0, -5, 12))

i, jkl = \
  list(enum(zip(range(4), range(-5, 12, 3), range(12, -5, -3)), 7))[0]
print(i, jkl)
# 7 (0, -5, 12)

i, (j, k, l) = \
  list(enum(zip(range(4), range(-5, 12, 3), range(12, -5, -3)), 7))[0]
print(i, j, k, l)
# 7 0 -5 12

for i, jkl in enum(zip(range(4), range(-5, 12, 3), range(12, -5, -3)), 7):
    print(i, jkl)
# 7 (0, -5, 12)
# 8 (1, -2, 9)
# 9 (2, 1, 6)
# 10 (3, 4, 3)

for i, (j, k, l) \
  in enum(zip(range(4), range(-5, 12, 3), range(12, -5, -3)), 7):
for i, [j, k, l] \
  in enum(zip(range(4), range(-5, 12, 3), range(12, -5, -3)), 7):
    print(i, j, k, l)
# 7 0 -5 12
# 8 1 -2 9
# 9 2 1 6
# 10 3 4 3
Enter fullscreen mode Exit fullscreen mode

Top comments (0)