Python范围计数器重置为999,并在每个字符串的末尾附加千位数

时间:2018-09-11 23:35:37

标签: python range counter

我进行了几次搜索,但没有找到相关的帖子。

I。发生了什么事:

  • 我有约9000个字符串的列表[string1,string2,...字符串9001]
  • 我使用了for循环将每个字符串写在其具有索引号的行上:

       print('the inventory is {inventory} \n the orderlevel is {orderlevel} \n the slots is {slots}' %'inventory' = jsonResponse['dsn']['inventory'],'orderlevel' = jsonResponse['dsn']['order_level'],'slots' =  jsonResponse['slots']);
    
  • 我得到的信息如下:

    #z is a list with ~9000 items
    
    y = open('4.3 data.txt', 'w', encoding='utf-8')
    for i in range(0, len(z)):
        y.write(str(i) + '^')
        y.write(str(z[i]))
        y.write('\n')
    y.close()
    
  • 因此,基本上,(并且我通常已经读过)使用“范围”计数到999,然后(1)重置为000,(2)在该数字后附加千位字符串的结尾。

II。我想要什么:

  • 我想知道是否有任何方法可以在1000、2000等处禁用重置,以便我可以使用range并使计数器仍增加到1000、2000、3000等。
  • 如果这是不可能的/不希望的,我想知道迭代列表中项目#的另一种方法,这样(1)索引就不会重置(尽管它不重要, d很好),并且(2)字符串未修改为在末尾附加千位数(我希望这是很多)

谢谢!

1 个答案:

答案 0 :(得分:1)

enumeration是处理此问题的更“ Pythonic”方法。

我还建议通过使用open()作为上下文管理器来实现文件I / O。

例如:

with open('4.3 data.txt', 'w', encoding='utf-8') as y_file:
    for i, item in enumerate(z):
        print(str(i) + ' ' + str(item), file=y_file)