Python - 不确定如何在变量名中使用计数器?

时间:2016-07-23 14:37:16

标签: python dictionary counter

我对编码很新。这就是杀了我,我觉得我错过了一些超级根本的东西,但我无法解决这个问题......

很简单,我使用for循环来查看文本文件的每一行。 如果找到空行,我希望更新一个计数器。

然后我希望使用计数器信息来更改变量名称,然后将文本文件中的特定行保存到变量名称中。

在脚本结尾处,变量名ParagraphXLineX将与文本文件中的相应段落对应。

但我似乎无法理解如何使用计数器信息来制作变量。

PARA_COUNT = 1
LINE_COUNT = 1

for x in CaptionFile_data.splitlines():
    if x != "": #still in existing paragraph
        (PARA_COUNT_LINE_COUNT) = x #I know this syntax isn't right just not sure what to put here?
        LINE_COUNT += 1

    else: #new paragraph has started
        PARA_COUNT += 1
        LINE_COUNT = 1

2 个答案:

答案 0 :(得分:0)

动态创建变量是不好的做法。您应该使用dict或列表,例如:

paragraphs= {1: ['line1','line2'],
            2: ['line3','line4']}

如果您坚持使用变量,可以使用globals()

>>>globals()['Paragraph1Line1']= 'some text'
>>>Paragraph1Line1
'some text'

答案 1 :(得分:0)

在您的代码中,您可以使用list来存储空行:

PARA_COUNT = 0
LINE_COUNT = 0
emptyLines = []
for x in CaptionFile_data.splitlines():
    if x != "": #still in existing paragraph
        emptyLines.append(x)        
        LINE_COUNT += 1
    else: #new paragraph has started
        PARA_COUNT += 1

- 尝试 -

第一行找到空行的所有索引
空行索引列表的len是数据中的空行数

emptyLineIndex = [i for i,line in enumerate( CaptionFile_data.splitlines()) if not line]
numberOfEmpty = len( emptyLineIndex  )