Python排序列表

时间:2014-12-11 00:49:22

标签: python

我有一个输入文件 - file.txt:

guten
('九','十一月')
('六','九') 0
结束

我的python程序是:

aa = []
with open('file.txt', 'r') as F1:
    for line in F1:
       line = line.rstrip('\n')
       aa.append(line)
    print aa

我得到的输出为:

['guten', "('nine', 'november')", "('six', 'nine')", '0', 'end', '']

但我的预期输出是:

['guten', ('nine', 'november'), ('six', 'nine'), '0', 'end', '']

有人能告诉我哪里出错了吗?你的帮助很有用。提前谢谢。

1 个答案:

答案 0 :(得分:3)

虽然我无法想象这将如何有用,但以下内容将满足您的要求(鉴于您提供给我们的文件中的数据有限):

import ast
aa = []
with open('file.txt', 'r') as F1:
    for line in F1:
        line = line.rstrip('\n')
        if line.startswith('('):
            aa.append(ast.literal_eval(line))  # turn tuple strings into tuples
        else:
            aa.append(line)       
    print aa