【问题标题】:How to read integers from text file and put them in a list in python?如何从文本文件中读取整数并将它们放入 python 的列表中?
【发布时间】:2020-03-05 18:42:32
【问题描述】:

我正在创建一个从文本文件中获取数据的类。每个文件由每行 3 个整数和不定行组成,如下例所示:

1 3 5

3 13 8

4 5 10

... 假设这些数据位于名为“numbers.txt”的文件中。如何将这 3 个整数放入一个元组中,然后将这个元组放入一个元组列表中?

这是我目前所拥有的(显然是错误的):

def _create_from_file(self, sky):
        """From a list of integers in a file, creates a list of tuples"""
        self.sky = sky
        f = open(self.sky)
        self.numbers=[]
        for line in open(self.sky):
            self.numbers.append((line[0],line[1],line[2]))

【问题讨论】:

  • f.readlines() 在这里很有用。
  • line[0],line[1],line[2] 是否只添加每行的前 3 个字符?然后split 所以你先得到一个正确的列表...
  • 你在这里使用了两次open
  • @G.Anderson: for line in file 在 Python 上是正确的。见cmdlinetips.com/2011/08/…
  • @usr2564301 已编辑,谢谢

标签: python list class tuples


【解决方案1】:

这应该可行:

def _create_from_file(self, sky):
    """From a list of integers in a file, creates a list of tuples"""
    self.sky = sky
    with open(self.sky, 'r') as f:
        self.numbers = [ tuple(int(x) for x in line.strip().split()) for line in f ]

如果您的数字是浮点数而不是整数,请将 int 替换为 float

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    • 1970-01-01
    • 2020-10-03
    相关资源
    最近更新 更多