Mapping transforms each input value into the shape needed by later pipeline stages.

transforming values A transform stage computes a new value for each item without changing the original list.

Transform Values

discount
transform_values.py
Replay: real traced execution (multi-file project)
prices = [10, 25, 40]

discount = 5

net_prices = []
for price in prices:
    net_prices.append(price - discount)

print("net=" + ",".join(str(price) for price in net_prices))
prices = [10, 25, 40]

discount = 10

net_prices = []
for price in prices:
    net_prices.append(price - discount)

print("net=" + ",".join(str(price) for price in net_prices))
  1. prices ← [10, 25, 40], discount ← 5, net_prices ← []

    1prices→ [10, 25, 40] = [10, 25, 40]23discount→ 5 = 5  #@discount=1045net_prices→ [] = []6for price in prices:
  2. net_prices ← [5]

    pass 1 of 3
    5net_prices = []6for price10 in prices[10, 25, 40]:7    net_prices→ [5].append(price10 - discount5)
    All 3 passes — pass 1 is the card above
    passpricenet_prices
    110[] [5]
    225[5] [5, 20]
    340[5, 20] [5, 20, 35]
  3. print("net=" + ",".join(str(price) for price in net_prices))

    9print("net=" + ",".join(str(price) for price in net_prices[5, 20, 35]))
    outputnet=5,20,35
  1. prices ← [10, 25, 40], discount ← 10, net_prices ← []

    1prices→ [10, 25, 40] = [10, 25, 40]23discount→ 10 = 1045net_prices→ [] = []6for price in prices:
  2. net_prices ← [0]

    pass 1 of 3
    5net_prices = []6for price10 in prices[10, 25, 40]:7    net_prices→ [0].append(price10 - discount10)
    All 3 passes — pass 1 is the card above
    passpricenet_prices
    110[] [0]
    225[0] [0, 15]
    340[0, 15] [0, 15, 30]
  3. print("net=" + ",".join(str(price) for price in net_prices))

    9print("net=" + ",".join(str(price) for price in net_prices[0, 15, 30]))
    outputnet=0,15,30