Range Over Built in Assembly Language

Based on the provided information, here’s the translated code and explanation in Python:

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 with the blank identifier _. Sometimes we actually want the indexes though.

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

range on dictionaries 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:
    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, ord(c))

To run the program, put the code in a .py file and use python to run it.

$ python range_over_built_in_types.py
sum: 9
index: 1
a -> apple
b -> banana
key: a
key: b
0 103
1 111