【问题标题】:python expand a list to printpython展开列表打印
【发布时间】:2013-02-22 22:22:02
【问题描述】:

如果我有一个清单

lst = ['A', 'B', 'C']

如何扩展它以便可以打印类似的东西

print '%s %s %s' % (*lst) ?

谢谢

【问题讨论】:

    标签: python list printing format


    【解决方案1】:

    现在,你会改用format

    "{} {} {}".format(*lst)  #python 2.7 and newer
    "{0} {1} {2}".format(*lst) #python 2.6 and newer
    

    【讨论】:

    • 如果我们有 1000000000000 个项目怎么办?
    • 那你不要这样做:)。根据问题的表述方式,OP 听起来好像元素的数量很少且已知——但(显然),我对此进行了猜测。
    【解决方案2】:

    如果您想按照您概述的方式使用字符串格式,您必须事先将列表转换为元组。

    >>> l = ['A', 'B', 'C']
    >>> print '%s %s %s' % tuple(l)
    A B C
    

    但是,在这种情况下,我会推荐类似的东西

    >>> print " ".join(l)
    A B C
    

    【讨论】:

      【解决方案3】:

      mgilson 答案的缩写形式,用于代码高尔夫

      >>> l = ['A', 'B', 'C']
      >>> print(*l)
      A B C
      

      【讨论】:

        【解决方案4】:
        >>> print '%s %s %s' % tuple(lst)
        A B C
        

        【讨论】:

          【解决方案5】:

          从外观上看,最好的选择是使用str.join

          lst = ['A', 'B', 'C']
          print ' '.join(lst)
          

          【讨论】:

            【解决方案6】:

            你的问题有点不清楚。但如果我理解正确的话;您可以使用 append 将内容添加到列表中,并且可以使用简单的打印功能打印列表。示例

            list = ["A", "B", "C"]
            list.append("D") #ADDS "D" TO THE LIST
            print list #Will print all strings in list
            

            对不起,如果这没有帮助。我尽我所能。 (:

            【讨论】:

              【解决方案7】:

              使用string.join(list)方法:

              print " ".join(lst)
              

              这样,如果列表有不同数量的元素,代码不会中断。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2016-03-31
                • 1970-01-01
                • 2023-03-19
                • 2011-01-24
                • 2012-11-26
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多