给列表中的每个单词加上前缀并在Python中转换为字符串

时间:2018-08-31 19:32:45

标签: python string python-3.x replace split

问题陈述:对于由分隔符连接的给定单词列表,我想在列表中的每个单词前面加上一个字符,然后将结果作为逗号分隔的字符串。我也对执行此操作的最佳方式感到好奇(也许使用regex ??)

例如说我有一个定义如下的列表:

lst = ["Hello", "this.is.a.test", "with", "items", "which.can.have.many.dots"]

假设我要加前缀的字符是一个哈希(#),那么我期望得到如下结果:

#Hello, #this.#is.#a.#test, #with, #items, #which.#can.#have.#many.#dots

我对两种方法进行了计时,结果发现方法1的速度更快,但是我想知道是否缺少一种更简单的方法。请注意,下面我使用了Python 3中引入的新格式字符串-基本上等同于{} .format( args )。

方法#1

_ = f"#{', #'.join(lst).replace('.', '.#')}"

方法2

_ = ', '.join([f"#{item.replace('.', '.#')}" for item in lst])

运行time.time()重复n = 100_000的结果:

  

方法#1-52毫秒

     

方法#2-152毫秒

0 个答案:

没有答案