如何在Python for循环的每次迭代中为输出添加递增编号?
实现迭代输出递增编号的Python代码修改方案
嘿,这个需求超容易搞定!咱们只需要给循环加上一个递增的计数器就行,Python里的enumerate()函数正好能帮咱们干这个活儿,它可以在遍历元素的同时,自动生成对应的索引编号。
直接给你改好的代码:
for idx, replay_data in enumerate(raw_replay_data['data']['video_info'], start=1): target.write(f"Coordinates {idx}: {replay_data['lat']},{replay_data['lnt']}\n")
简单解释下:
enumerate()函数的第二个参数start=1,是让编号从1开始计数,如果你不加这个参数,默认会从0开始,那输出的就是Coordinates 0: xxx啦,不符合你的需求。- 这里用了f-string(格式化字符串)来拼接内容,比你原来用
+拼接字符串的方式更简洁、可读性更强,这也是Python 3.6及以后版本推荐的写法。
如果你用的是比较老的Python版本(低于3.6),没法用f-string的话,也可以用传统的字符串拼接方式,代码改成这样就行:
for idx, replay_data in enumerate(raw_replay_data['data']['video_info'], start=1): target.write("Coordinates " + str(idx) + ": " + replay_data['lat'] + "," + replay_data['lnt'] + "\n")
两种写法都能实现你想要的效果,每次迭代输出的内容就会变成Coordinates 1: 0,0、Coordinates 2: 0,0这样的递增编号格式啦!
内容的提问来源于stack exchange,提问作者aquatic7
相关产品推荐
相关产品推荐

