2011-08-29 62 views
1

编辑:对不起,每个人都感到困惑。这个问题的第一个版本非常混乱,我决定删除它。用Python清理数据(用于声明)

这是我的问题了。

如何将10,000个学生姓名(文本文件)的列表翻译为可迭代的列表?

我最初说的字典,但我其实是指名单,我很抱歉。

+0

我真的不明白你:)“他们都指同一班”,谁是“他们”?也是“这些变量中的这些数据”? – steabert

+0

我也有点困惑,对我来说,好像你想要一个多维字典,除非它增加了类的统计数据,那么你只需要将CSV每行分割(因为你可以定义delim)并使用'dictionary.has_key( “Statistics_1101”)'如果它没有它,则将其值加1,如果是,则增加1. –

+0

你想要做什么?你想获得所有学生在统计班上的姓名,还是想要获得所有人登记的班级,还是想要做其他事情? – inspectorG4dget

回答

3

假设每个学生的名字是自己的路线,这是它听起来像,这是那么容易,因为

students = open('list-of-students.txt').readlines() 

这将使students是所有的学生都在文件中的list

+0

'list(open('list-of-students.txt'))'也适用。它几乎没有比这更容易:)但我宁愿使用with-block来打开文件。 –

1

这取决于你想要做什么。

但是这样的事情应该工作:

with file("filename-with-students.txt") as f: 
    for line in f: 
     ## now, the name "line" refers to a string containing a line in your file 

第一行,with file(...) as f,打开文件,并分配“文件描述符”这个名字f。使用with声明意味着它完成后会自动关闭。

第二行for line in f利用了您可以在文件上一次一行的iterate。因此,你可以做任何你想要的字符串line所指的。

+0

如果你真的想建立列表,你可以使用'list(f)'。但这是迭代不需要的:) –