Pythonic方式加入列表并用相同的分隔符包装结果

时间:2016-01-12 19:33:51

标签: python

我需要将列表['a', 'b', 'c']转换为字符串'/a/b/c/'

这个例子看起来不是一个好习惯:

'/' + '/'.join(['a','b','c']) + '/'
>>> '/a/b/c/'

修改

@TomDalton提出了一个非常好的问题:

  

您想要一个空列表导致什么? '','/'或'//'?

如果是空列表,我想要单斜杠'/'

这个怎么样:

'/' + ''.join([i + '/' for i in ['a', 'b', 'c'])

2 个答案:

答案 0 :(得分:1)

你给出的解决方案很好。您可以使用字符串格式使其看起来更好一些:

'/{0}/'.format('/'.join(['a', 'b'. 'c'])

或将来在3.6中使用Literal String Interpolation

f"/{format('/'.join(['a', 'b'. 'c'])}/"

答案 1 :(得分:0)

您只需在列表中添加两个空字符串:

>>> "/".join(['', 'a', 'b', 'c', ''])
'/a/b/c/'