【问题标题】:Remove prefix from python list objects and single quotes从 python 列表对象和单引号中删除前缀
【发布时间】:2015-04-08 06:53:39
【问题描述】:

这是我的清单:

[Volume:vol-b81a2cb0, Volume:vol-ab2b1ba3, Volume:vol-fc2c1cf4]

我希望它看起来像这样:

['vol-b81a2cb0', 'vol-ab2b1ba3', 'vol-fc2c1cf4']

所以应该做到以下几点:

  1. 必须从列表元素中删除 Volume: 前缀。
  2. 新元素必须用单引号括起来。

【问题讨论】:

标签: python string list


【解决方案1】:

尝试:

strList = map( str, objList)
strList = map( lambda x: x.replace( 'Volume:', ''), strList)

【讨论】:

  • 第一行将对象列表转换为代表这些对象的字符串列表。现在,这有多有效取决于对象的类是如何定义的,即 .str (或我认为是 .display )方法的作用。第二行确实只适用于字符串列表。
【解决方案2】:

您可以将@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

【讨论】:

    猜你喜欢
    • 2012-01-15
    • 1970-01-01
    • 2021-10-28
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    相关资源
    最近更新 更多