【问题标题】:String concatenation from a list of string, using a praticle in front and one at the end for each element字符串列表中的字符串连接,每个元素在前面使用一个粒子,在末尾使用一个粒子
【发布时间】:2018-11-04 11:14:09
【问题描述】:

我有一个字符串数组:

data = ['a', 'b', 'c', 'd']

我要获取:

s.a, s.b, s.c, s.d

我试过了:

"s., ".join(fields)

不起作用,因为我需要前面的 s. 和末尾的 ,

【问题讨论】:

    标签: python string python-3.x


    【解决方案1】:

    您应该对从'x''s.x' 的各个元素执行映射,我们可以这样做:

    map('s.{}'.format, data)
    

    然后我们可以用逗号将它们连接在一起:

    ', '.join(map('s.{}'.format, data))
    

    这会产生:

    >>> ', '.join(map('s.{}'.format, data))
    's.a, s.b, s.c, s.d'
    

    或者像@JonClements说的,既然,我们可以用literal string interpolation [PEP-498]

    ', '.join(f's.{d}' for d in data)
    

    【讨论】:

      【解决方案2】:

      你们很亲密。对要对每个字符串执行的操作使用列表推导,然后将字符串列表连接在一起:

      data = ['a', 'b', 'c', 'd']
      ', '.join(['s.'+x for x in data])
      # 's.a, s.b, s.c, s.d'
      

      【讨论】:

        猜你喜欢
        • 2018-05-15
        • 1970-01-01
        • 1970-01-01
        • 2021-09-06
        • 1970-01-01
        • 2014-09-18
        • 1970-01-01
        • 1970-01-01
        • 2016-01-25
        相关资源
        最近更新 更多