for replay_data in raw_replay_data['data']['video_info']:
target.write("Coordinates: " + replay_data['lat'] + (',') + replay_data['lnt'] + "\n")
这个for循环给了我fx。输出:
Coordinates: 0,0
Coordinates: 0,0
Coordinates: 0,0
Coordinates: 0,0
我想在每个"坐标"之后输入一个数字。为每个可用的新坐标增加的字符串。 如何输出:
Coordinates 1: 0,0
Coordinates 2: 0,0
Coordinates 3: 0,0
Coordinates 4: 0,0
答案 0 :(得分:4)
查看enumerate()
function,它是for循环中最好的朋友。您还可以使用一些str.format()
function来提高输出的可读性:
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'])
答案 1 :(得分:1)
您创建一个计数器并计算:
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
您可能希望查看字符串格式方法:string.format
您可以执行以下操作:
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']))
输出:
Coordinates 22: 1,2