【发布时间】:2015-04-08 06:53:39
【问题描述】:
这是我的清单:
[Volume:vol-b81a2cb0, Volume:vol-ab2b1ba3, Volume:vol-fc2c1cf4]
我希望它看起来像这样:
['vol-b81a2cb0', 'vol-ab2b1ba3', 'vol-fc2c1cf4']
所以应该做到以下几点:
- 必须从列表元素中删除
Volume:前缀。 - 新元素必须用单引号括起来。
【问题讨论】:
这是我的清单:
[Volume:vol-b81a2cb0, Volume:vol-ab2b1ba3, Volume:vol-fc2c1cf4]
我希望它看起来像这样:
['vol-b81a2cb0', 'vol-ab2b1ba3', 'vol-fc2c1cf4']
所以应该做到以下几点:
Volume: 前缀。【问题讨论】:
尝试:
strList = map( str, objList)
strList = map( lambda x: x.replace( 'Volume:', ''), strList)
【讨论】:
您可以将@Marek 代码减少到一行:
strList = list(map(lambda x: str(x).replace('Volume:', ''), strList))
或者只使用列表理解:
new_list = [str(i).replace( 'Volume:', '') for i in your_list]
从 Python 3.9 开始,您可以使用 removeprefix() 函数进一步简化您的代码:
new_list = [str(i).removeprefix('Volume:') for i in your_list]
更多关于removeprefix()的信息:PEP 616
【讨论】: