【问题标题】:saving a multiline string as the only element in a list in python将多行字符串保存为python列表中的唯一元素
【发布时间】:2022-01-21 13:46:24
【问题描述】:

我正在尝试从列表中打印多行字符串。

当使用元组而不是列表时,结果正是我想要的

test = ("""
11111
22222
33333
""")

print(test)
>>>
11111
22222
33333

它以多行打印。现在我想要相同的结果,除了使用 list 而不是元组,问题是它将所有内容打印在一行中:

test = ["""
11111
22222
33333
"""]

print(test)
>>>['\n11111\n22222\n33333\n']

我希望它像元组示例一样打印出来。抱歉这个愚蠢的问题

【问题讨论】:

    标签: python string tuples multiline


    【解决方案1】:
    test = ("""
    11111
    22222
    33333
    """)
    

    不是元组。这是str

    >>> type(test)
    <class 'str'>
    

    以下构成一个元组;注意尾随的,,这使它成为一个单元素元组。

    >>> test = ("""
    ... 11111
    ... 22222
    ... 33333
    ... """, )
    >>> type(test)
    <class 'tuple'>
    >>> print(test)
    ('\n11111\n22222\n33333\n',)
    

    (实际)元组和列表都以相同的方式打印,通过显示序列中每个元素的repr() (.__repr__())。

    如果您想打印出每个元素的 str() 表示,请遍历列表或元组并在每个元素上调用 print()

    >>> test = ["""
    ... 11111
    ... 22222
    ... 33333
    ... """]
    >>> for i in test: print(i)
    ... 
    
    11111
    22222
    33333
    

    【讨论】:

      猜你喜欢
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 2021-09-26
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多