替换列表中的项目,python

Mik*_*ike 4 python replace

我有一个像这样的字符串列表:

Item_has_was_updated_May_2010
Item_updated_Apr_2011
Item_got_updated_Sept_2011
Run Code Online (Sandbox Code Playgroud)

我想迭代字符串列表并更新字符串的最后两部分.一个月和一年.字符串的其余部分我想保持不变.月份和年份将取自我之前在脚本中设置的变量,因此我们称之为月份x和年份y.

我的方法是:

  1. 遍历字符串列表
  2. 用"_"分割每个字符串
  3. 替换最后2项
  4. 将物品与更换的物品一起加入

月份和年份将取自我之前在脚本中设置的变量,因此我们称之为月份x和年份y.

如果有人可以建议一种方法,我们将不胜感激.

Mar*_*ers 9

您可以使用str.rsplit以下方法在没有正则表达式的情

yourlist = [s.rsplit('_', 2)[0] + '_' + x + '_' + y for s in yourlist]
Run Code Online (Sandbox Code Playgroud)

看到它在线工作:ideone


如果要使用格式而不是字符串连接,请尝试以下操作:

yourlist = ['{}_{}_{}'.format(s.rsplit('_', 2)[0], x, y) for s in yourlist]
Run Code Online (Sandbox Code Playgroud)

看到它在线工作:ideone

  • 也可以做''_'.join(s.split('_')[: - 2] + [x,y])` (3认同)