2011-03-23 65 views
2

嗨即时尝试创建一个列表添加到它通过for循环逐行阅读从TXT文件。我得到一个语法错误的名单,但我不确定如何解决这个问题?Python列表问题

import re 
file = open("text.txt","r") 
text = file.readlines() 
file.close() 

line_count=0 

for line in text: 
    User_Input_list[] += [] + line.split() 
    line_count += 1 

这个问题似乎是与清单申报的倒数第二行

+3

“宣言” ? Python没有声明。你认为在那一行发生了什么?请澄清你的理解。 – 2011-03-23 13:53:48

回答

7

做这样的:

input = [] 
line_count = 0 
with open("text.txt","r") as file: 
    for line in file: 
     input.extend(line.split()) 
     line_count += 1 
+0

,或者您可以使用'for line_count,enumerate(file,start = 1):'作为在循环定义中滚动计数器的方式。 – JoshAdel 2011-03-23 13:41:16

0

为什么不 UserInputList += line.split()

+0

这将创建一个嵌套列表(这当然可能或不可能是OP想要的,这个问题有点不清楚)。 – 2011-03-23 13:59:07

0

如果你想在文件中的每一行是列表中的一个单独的元素,这里有一个简单的方法来做到这一点:

import re 
file = open("text.txt","r") 
text = file.readlines() 
file.close() 

line_count=0 
line_list = [] 
for line in text: 
    line_list.append(line) 
    line_count += 1 

或者使用列表理解:

import re 
file = open("text.txt","r") 
text = file.readlines() 
file.close() 

line_list = [] 
[line_list.append(a_line) for a_line in text] 
line_count = len(line_list)