使用相同sep连接列表和包装结果的Pythonic方法

2024-04-23 23:33:04 发布

您现在位置:Python中文网/ 问答频道 /正文

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

这个例子看起来不是一个好的做法:

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

编辑

@TomDalton问了一个很好的问题:

What do you want an empty list to result in? '', '/', or '//'?

如果是空列表,我需要单斜杠'/'。你知道吗

这个怎么样:

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

什么?你知道吗


Tags: to字符串inyouan编辑列表do
2条回答

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

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

或者将来在3.6中使用Literal String Interpolation

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

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

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

相关问题 更多 >