1
for replay_data in raw_replay_data['data']['video_info']: target.write("Coordinates: " + replay_data['lat'] + (',') + replay_data['lnt'] + "\n") 

This for loop gives me fx. the output of:

Coordinates: 0,0 Coordinates: 0,0 Coordinates: 0,0 Coordinates: 0,0 

I would like a number after each "Coordinates" string that increases for each new coordinates available. How can I make it output:

Coordinates 1: 0,0 Coordinates 2: 0,0 Coordinates 3: 0,0 Coordinates 4: 0,0 
1
  • If you've found an answer useful, please consider accepting it by clicking on the tick mark next to it, so that others may find it useful in the future :) Commented Jan 11, 2018 at 17:51

2 Answers 2

4

Look up the enumerate() function, it's your best friend in for loops. Also you can use some str.format() function to make your output more readable:

for index, replay_data in enumerate(raw_replay_data['data']['video_info']): target.write("Coordinates {0}: {1}, {2}\n".format(index+1, replay_data['lat'], replay_data['lnt']) 
Sign up to request clarification or add additional context in comments.

Comments

1

You create a counter and count up:

numbr = 1 # counter, starting at 1 for replay_data in raw_replay_data['data']['video_info']: target.write("Coordinates " + str(numbr) + ": " + replay_data['lat'] + (',') + replay_data['lnt'] + "\n") numbr += 1 # increment counter 

You might want to look into string format methods: string.format

You can do things like:

replay_data = {} replay_data['lat'] = 1 replay_data['lnt'] = 2 numbr = 22 print("Coordinates {n}: {lat},{lng}\n" .format(n=numbr, lat = replay_data['lat'], lng = replay_data['lnt'])) 

Output:

Coordinates 22: 1,2 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.