【问题标题】:Convert a list of elements in a string [duplicate]转换字符串中的元素列表[重复]
【发布时间】:2016-05-25 01:16:05
【问题描述】:

我有一个名字列表:

a = ['Maria','Luis','Andrea']

我想把它们放在一个字符串中,所以我做了这个:

names = ''
for name in a:
    names = names +',' ' ' + name

有一个问题,在第一次迭代中,我在开头添加了一个逗号和一个空格,我知道我可以删除逗号和空格,但我宁愿没有它。

另外,这可以在 lambda 函数中完成吗?

【问题讨论】:

    标签: python


    【解决方案1】:

    正确的pythonic方法是其他答案中给出的",".join(...)方法。然而,语言不可知的方法是这样的:

    for i in range(len(a)):
       if i == 0:
          names += a[i]
       else:
          names += ',' + a[i]
    

    【讨论】:

      【解决方案2】:

      这就是 str.join 方法的用途:

      >>> ', '.join(a)
      'Maria, Luis, Andrea
      

      该方法将可迭代的所有元素与字符串join 连接起来,作为分隔符被调用。

      一些例子:

      >>> 'SEP'.join(a)
      'MariaSEPLuisSEPAndrea'
      >>> ''.join(a)
      'MariaLuisAndrea'
      

      可以看成是str.split的对应物:

      >>> s = ', '.join(a)
      >>> s
      'Maria, Luis, Andrea'
      >>> s.split(', ')
      ['Maria', 'Luis', 'Andrea']
      

      【讨论】:

        【解决方案3】:

        str.join() 处理:

        >>> a = ['Maria','Luis','Andrea']
        >>> ", ".join(a)
        'Maria, Luis, Andrea'
        

        【讨论】:

        • 回答明显的重复而不是投票关闭它们,你不觉得有点内疚吗?
        • @cimmanon 你肯定有一个有效的观点。我不经常在 SO 上使用一般的 Python,当我这样做时,我通常会在类似情况下投票关闭,但在这里匆忙回答。所以,是的,我感到内疚。谢谢:)
        猜你喜欢
        • 2018-05-07
        • 2017-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-08
        • 1970-01-01
        • 2022-01-03
        • 1970-01-01
        相关资源
        最近更新 更多