🐍 Loops in Python
Let's say you have a books
array:
# data['books']:[ { "name": 'Book 1', "price": 44.99, "qty": 1 }, { "name": 'Book 2', "price": 9.99, "qty": 3 }, { "name": 'Book 3', "price": 24.99, "qty": 2 }]
"For" loops
At the post-processing step you may want to add 3 fields: In each book item add a total
and formatted_total
fields and calculate the order_total
amount.
# Option 1. "For" looptotal = 0for book in data['books']: book['total'] = book['price'] * book['qty'] book['formatted_total'] = '$' + str(book['total']) total += book['total'] # accumulate order totaldata['order_total'] = total
"For" loops with indexes
Alternatively, you can use a "for" loop with indexes:
# Option 2. "For" loop with indexestotal = 0for index, book in enumerate(data['books']): book_total = book['price'] * book['qty'] data['books'][index]['total'] = book_total data['books'][index]['formatted_total'] = '$' + str(book_total) total += book_totaldata['order_total'] = total
"For" loops with range
... or using the range
function:
# Option 3. "For" loop with rangetotal = 0books_cnt = len(data['books']) # books_cnt = 3for ind in range(0, books_cnt): book = data['books'][ind] book['total'] = book['price'] * book['qty'] book['formatted_total'] = '$' + str(book['total']) total += book['total']data['order_total'] = total
Now the data
dictionary should look like this:
{ "books": [ { "name": "Book 1", "price": 44.99, "qty": 1, "total": 44.99, "formatted_total": "$44.99" }, { "name": "Book 2", "price": 9.99, "qty": 3, "total": 29.97, "formatted_total": "$29.97" }, { "name": "Book 3", "price": 24.99, "qty": 2, "total": 49.98, "formatted_total": "$49.98" } ], "order_total": 124.94}
Iterate over fields
Finally, in some complex cases you may want to iterate over each parsed field:
for field_name, field_value in data.items(): # your code goes here
Note: 'While' loops are not supported.