读取文本文件(以冒号分隔的单词)并获取元组列表

时间:2011-06-17 01:59:23

标签: python

我有一个名为words.txt的word&文本文件。由冒号分隔的描述对,例如:

word1:description 1 bla bla bla
word2:description 2 blah blah
...

我想要一个像这样的结构:

[('word1', 'description 1 bla'), ('word2', 'description 2 blah')]

如果你认为另一个结构不同于元组列表更好只是告诉我...我会喜欢使用列表comprenhesion的解决方案,但我被困了。

4 个答案:

答案 0 :(得分:3)

如何:

[line.split(':', 1) for line in open('words.txt')]

dict(line.split(':', 1) for line in open('words.txt'))

答案 1 :(得分:0)

data = []
for line in open('file.txt'):
  data.append(tuple(line.strip().split(':')))

'tuple'仅用于将分割返回的列表更改为元组。

可选择执行:

data = dict(data)

之后将其改为单词:description dictionary,它可能更能代表你想要的东西。

答案 2 :(得分:0)

或者您可以执行以下操作

text = """
          word1:description 1 bla bla bla
          word2:description 2 blah blah
       """
[tuple(x.strip().split(':', 1)) for x in text.split('\n') if ':' in x]

答案 3 :(得分:0)

[tuple(line.partition(':')[0:3:2]) for line in open('file.txt')]