【问题标题】:Change the display of a list took from text file更改从文本文件中获取的列表的显示
【发布时间】:2014-06-17 06:46:28
【问题描述】:

我用 Python 编写了这段代码:

with open ('textfile.txt') as f:
     list=[]
     for line in f:
          line = line.split()
          if line: 
              line = [int(i) for i in line] 
              list.append(line)
     print(list)

这实际上是从文本文件中读取整数并将它们放入一个列表中。但实际上结果为:

[[10,20,34]]

但是,我希望它显示如下:

10 20 34

如何做到这一点?感谢您的帮助!

【问题讨论】:

  • 不打印列表本身。您可以遍历列表并打印每个元素,或者您可以对字符串使用 join 方法。
  • 格式化!这对您有很大帮助:)
  • @thegrinner 如果我使用 print(' '.join(map(str,list))) 它的结果是 [10,20,34] 还有 [ ]

标签: python list python-3.x int text-files


【解决方案1】:

您可能只想将项目添加到列表中,而不是附加它们:

with open('textfile.txt') as f:
    list = []
    for line in f:
        line = line.split()
        if line:
            list += [int(i) for i in line]

    print " ".join([str(i) for i in list])

如果将列表附加到列表,则会创建子列表:

a = [1]
a.append([2,3])
print a    # [1, [2, 3]]

如果你添加它,你会得到:

a = [1]
a += [2,3]
print a    # [1, 2, 3]!

【讨论】:

    【解决方案2】:
    with open('textfile.txt') as f:
        lines = [x.strip() for x in f.readlines()]
    
    print(' '.join(lines))
    

    输入文件“textfiles.txt”包含:

    10
    20
    30
    

    打印:

    10 20 30
    

    【讨论】:

      【解决方案3】:

      听起来您正在尝试打印列表列表。最简单的方法是遍历它并打印每个列表。

      for line in list:
          print " ".join(str(i) for i in line)
      

      另外,我认为list 是 Python 中的一个关键字,所以尽量避免命名你的东西。

      【讨论】:

        【解决方案4】:

        如果你知道文件不是很长,如果你想要整数列表,你可以一次完成(两行,其中一行是with open(...。如果你想按自己的方式打印,你可以将元素转换为字符串并通过' '.join(... 加入结果——像这样:

        #!python3
        # Load the content of the text file as one list of integers.
        with open('textfile.txt') as f:
            lst = [int(element) for element in f.read().split()]
        
        # Print the formatted result.
        print(' '.join(str(element) for element in lst))
        

        不要对变量使用list 标识符,因为它会掩盖列表类型的名称。

        【讨论】:

          猜你喜欢
          • 2018-05-21
          • 1970-01-01
          • 1970-01-01
          • 2023-01-29
          • 2015-03-15
          • 1970-01-01
          • 2015-10-05
          • 1970-01-01
          • 2011-05-18
          相关资源
          最近更新 更多