Range Over Built in Elm

Range over Built-in Types in Python

range iterates over elements in a variety of built-in data structures. Let’s see how to use range with some of the data structures we’ve already learned.

Here we use range to sum the numbers in a list. Arrays work like this too.

nums = [2, 3, 4]
sum = 0
for num in nums:
    sum += num
print("sum:", sum)

range on arrays and lists provides both the index and value for each entry. Above we didn’t need the index, so we ignored it. Sometimes we actually want the indexes though.

for i, num in enumerate(nums):
    if num == 3:
        print("index:", i)

range on dictionary iterates over key/value pairs.

kvs = {"a": "apple", "b": "banana"}
for k, v in kvs.items():
    print(f"{k} -> {v}")

range can also iterate over just the keys of a dictionary.

for k in kvs.keys():
    print("key:", k)

range on strings iterates over Unicode code points. The first value is the starting byte index of the character and the second the character itself.

for i, c in enumerate("go"):
    print(i, c)
$ python range_over_builtin_types.py
sum: 9
index: 1
a -> apple
b -> banana
key: a
key: b
0 g
1 o