【问题标题】:Is there a way to join strings in a special way in python有没有办法在python中以特殊方式连接字符串
【发布时间】:2021-10-10 19:31:55
【问题描述】:

例如: 我有一个清单

temp = ["TOM", "JOHN"]

我想加入这样的结果是

" Hi! TOM Welcome. Hi! JOHN Welcome."

伪代码会是这样的东西

"Hi! {} Welcome.".join(temp)

【问题讨论】:

    标签: python python-3.x string


    【解决方案1】:

    当然。生成器表达式(或列表解析)和 " ".join 的组合,用于加入格式化文本。

    >>> names = ["TOM", "JOHN"]
    >>> " ".join(f"Hi! {name} welcome." for name in names)
    'Hi! TOM welcome. Hi! JOHN welcome.'
    

    【讨论】:

      【解决方案2】:

      字符串格式化有很多可能性,这里是使用 f-strings 的一种:

      l = ["TOM", "JOHN"]
      ' '.join(f'Hi {i}! Welcome.' for i in l)
      

      输出:

      'Hi TOM! Welcome. Hi JOHN! Welcome.'
      

      这是另一个,使用format:

      l = ["TOM", "JOHN"]
      ' '.join('Hi {0}! Welcome.'.format(i) for i in l)
      

      最后,旧的 % 替换:

      l = ["TOM", "JOHN"]
      ' '.join('Hi %s! Welcome.' % i for i in l)
      

      【讨论】:

        【解决方案3】:

        您可以使用所谓的 f 字符串。除此之外,我还使用了一个可以让您轻松更改消息的功能:

        temp = ["TOM", "JOHN"]
        
        def message(name):
            return f"Hi! {name} Welcome."
        
        out = " ".join(message(i) for i in temp)
        print(out)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-04
          • 2020-06-04
          • 1970-01-01
          • 1970-01-01
          • 2017-09-01
          相关资源
          最近更新 更多