【问题标题】:read an integer list and return into a format python读取一个整数列表并返回一个格式 python
【发布时间】:2013-11-07 05:48:26
【问题描述】:

如果我打开一个包含以下内容的文件: 1 2 3 4 \n 5 6 7 \n 8 9 10

所以

def read(list):
  list = open('list.tet','r')
  nums = list.readlines()
  new_list = []
  for num in nums:
    if num.find('\n'):
      new_list.append(num.strip('\n')
  return new_list

我希望得到的输出为 [1、2、3、4、5、6、7、8、9、10]

我该怎么办? 谢谢

【问题讨论】:

    标签: list merge integer


    【解决方案1】:

    如果您有固定分隔符(如空格),您可以尝试以下方法来读出您的整数:

    new_list = []
    with open( "list.tet", "r" ) as myFile:
        for myLine in myFile:
            for myInt in myLine.strip().split( " " ):
                new_list.append( myInt )
    
    print( "Integers:", new_list )
    

    这不是完美的 Python 方式,因为您可以进一步压缩这些行,但我认为它更容易理解。好消息是,如果文件“list.tet”丢失,您已经内置了故障处理。

    该示例将打开您的文件并逐行读取为“myLine”。它将从该行中删除任何前导/尾随空格/制表符/换行符,让您在第一行留下“1 2 3”。拆分而不是将它们分成 [1, 2, 3] 我们在 for 循环中使用,将每个值放入 myInt 中,然后附加到您的 new_list 中。

    【讨论】:

    • 您不需要 readlines 函数,因为 for 循环会为您遍历所有行。
    猜你喜欢
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    相关资源
    最近更新 更多