使用Python中以前未知数量的元素填充空列表

时间:2015-04-12 10:35:11

标签: python list

我想将一个由特定短语分隔的较大文档分割成多个部分,然后分别保存这些部分。 (列表是目标)

我的问题是,当我从一个空列表开始时,我事先并不知道有多少元素存在。也无法在其中创建占位符元素,因为我必须再次索引,我认为(再次让我超出范围错误)

f = open(PATENTS, 'r')
text =f.read()
counter=0
textblock=[]
textblocklist=[]
stext= text.splitlines()

for line in stext:
    if line !='<?xml version="1.0" encoding="UTF-8"?>':

        textblocklist.append(line)

    else:
        counter+=1
        textblock.append(textblocklist)
        textblocklist=[]

f.close()

for n in textblock:
    with open('file_{0}.dat'.format(n),'w') as ffile:
        ffile.write(textblock[n])
        ffile.close()

我根本不知道如何实现这一目标。我想要一个包含许多元素的列表(文本块)(数字在计数器中计算)。每个元素都是我猜的行列表,它们被if语句中的短语除。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

找到分隔符时应重置textblocklist。

for line in stext:
    if line !='<?xml version="1.0" encoding="UTF-8"?>':
    textblocklist.append(line)

    else:
        counter+=1
        textblock.append(textblocklist)
        textblocklist=[]