【问题标题】:How to print an array without brackets but with the quotation marks on it?如何打印不带括号但带有引号的数组?
【发布时间】:2019-02-21 14:49:28
【问题描述】:

如何打印一个没有括号但上面有引号的数组?

我有:

a = ['1','2','3','4','5']
' '.join(map(str, a))

我收到的结果:

1, 2, 3, 4, 5

预期结果(需要):

'1','2','3','4','5'

(带逗号和引号)

【问题讨论】:

  • 但它甚至没有给出你的结果?它给了'1 2 3 4 5'
  • print(', '.join(repr(i) for i in a)) 即使在字符串中有引号时也会正确引用。

标签: python python-3.x python-2.7 jupyter-notebook


【解决方案1】:

这样做:

a = ['1','2','3','4','5']
print(str(a).strip('[]'))

【讨论】:

    【解决方案2】:

    那是因为当您执行' '.join(...) 时,您会得到一个大字符串而不是它们的列表。如果您想保留引号,您需要自己重新添加它们:

    >>> print(', '.join("'{}'".format(x) for x in a))
    '1', '2', '3', '4', '5'
    

    【讨论】:

    • 感谢上帝您回答了我的问题!太完美了!
    • 但我也需要逗号
    • 已更新。添加逗号只需将逗号添加到join
    【解决方案3】:
    ", ".join("'{}'".format(x) for x in a)
    

    【讨论】:

    • 欢迎来到 SO。为您的答案提供一些背景总是好的。谢谢
    • @LonelyNeuron 感谢您的建议,下次会更好:)
    【解决方案4】:

    试图用老式的弦乐构建解决方案赶上火车

    a = ['1','2','3','4','5']
    out_string=''
    for i in a:
        out_string+="'"+ i +"'"+', '
    print(out_string.rstrip(', ')) # '1', '2', '3', '4', '5'
    

    【讨论】:

      【解决方案5】:
      a = ['1','2','3','4','5'] 
      print([str(item) for item in a])
      

      我喜欢这样。

      【讨论】:

      • 这不是他想要的。它仍然是一个列表,只是项目是str,但他的预期输出是 str,而不是列表。
      猜你喜欢
      • 2012-03-10
      • 2022-01-10
      • 2022-10-13
      • 2019-02-23
      • 1970-01-01
      • 2014-05-01
      • 2021-08-27
      • 1970-01-01
      相关资源
      最近更新 更多