您的位置:首页 > 编程语言 > Python开发

Python 替换列表元素

2015-09-08 10:36 471 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/pilicurg/article/details/48287713

Python里字符串有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'

可以用列表解析的方法实现元素替换,下例里把 ‘1’ 替换成 ‘4’ :

>>> lst = ['1', '2', '3']
>>> rep = ['4' if x == '1' else x for x in lst]
>>> rep
['4', '2', '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']
>>>

原文链接:http://www.lfhacks.com/tech/python-list-element-replace

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: