Consider replacing
range(len(index))
with enumerate(index)
128 sync = sorted_df['Smoothed Sync Error'].to_list()
129
130 with st.expander("**Your top five areas for improvement:**"):
131 for i in range(len(index)):132 st.write(f"**Frame {index[i]}**")
133 st.write(f'Timestamp: {timestamps[i]}s, Absolute Sync Error: {sync[i]}')
134 st.image(f"https://storage.googleapis.com/sync_testinput/screencaps/{response['my_uuid']}/frame{top5imp[i]}.jpg")
Description
Using range(len(...))
is not pythonic. Python does not have not index-based loops. Instead, it uses collection iterators.
Python has a built-in method enumerate
which adds a counter to an iterable.
Using this, you can access the counter and the value from the iterable at the same time.
It is therefore recommended to replace range(len(...))
with enumerate(...)
.
Not Preferred:
for index in range(len(mylist)):
...
Preferred:
for index, element in enumerate(mylist):
...