python列表替换_Python 列表元素替换

486.png

在 Python 中,如何替换列表中的元素?其实 Python 并无自带 Replace 方法,只能自己编写循环或者使用列表解析的方法。

目录

无内置replace

Python里 字符串(string)类型 有 replace 方法,但是 列表(list)类型 没有 类似的 replace 方法,见下面的报错信息:

>>> lst = ['1','2','3']

>>> lst.replace('1', '4')

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'list' object has no attribute 'replace'

我们只能自己用代码实现列表元素的替换,一般有下面三种场景:条件替换 , 批量替换 , 映射替换

条件替换

可以用列表解析的方法实现元素替换,

点击下图中“点击播放”,观看把 ‘2’ 替换成 ‘4’ 的替换过程:

下面是代码实现。

>>> lst = ['1', '2', '3']

>>> rep = ['4' if x == '2' else x for x in lst]

>>> rep

['1', '4', '3']

>>>

批量替换

批量替换,即把一个列表里的元素全部替换成同一个元素,

点击下图中“点击播放”,观看把 ’3’和‘4’ 替换成 ‘d’ 的替换过程:

下面是代码实现:

>>> lst = ['1', '2', '3', '4', '5']

>>> pattern = ['3', '4']

>>> rep = ['d' if x in pattern else x for x in lst]

>>> rep

['1', '2', 'd', 'd', '5']

>>>

映射替换

根据一个字典的映射关系替换。

点击下图中“点击播放”,观看把 “3”和“4” 替换成英文的过程:

下面是代码实现:

>>> lst = ['1', '2', '3', '4', '5']

>>> pattern = {'3':'three', '4':'four'}

>>> rep = [pattern[x] if x in pattern else x for x in lst]

>>> rep

['1', '2', 'three', 'four', '5']

>>>

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值