无内置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'] >>>