17傻子 发表于 2019-1-22 22:00:57

python列表中的value 如何实现替换

如list=[小明,张三,王五,张三,张三,张三,张三,张三]
现在我想把list中value=张三,的部分全部替换成李四
请问如何较快实现,如果用index替换太繁琐,请问还有什么快速实现的方法吗?

ba21 发表于 2019-1-22 22:08:01

没有。遍历还得是index

幻千城12 发表于 2019-1-22 22:43:59

列表没有replace方法,只能遍历索引,除非转变数据结构

凌九霄 发表于 2019-1-22 22:59:28

ls=['小明','张三','王五','张三','张三','张三','张三','张三']

print(','.join(ls).replace('张三','李四').split(','))

heidern0612 发表于 2019-1-23 07:54:50

你这个列表中的张三提前定义过吗?是变量还是字符串?

是变量的话外面直接修改变量内容就行。

字符串的话就还得遍历替换。

新手·ing 发表于 2019-1-23 08:04:55

先把列表弄成字符串啊,我们做题经常这么干,曲线救国。

17傻子 发表于 2019-1-23 17:09:16

ba21 发表于 2019-1-22 22:08
没有。遍历还得是index

谢谢你的回复

17傻子 发表于 2019-1-23 17:11:48

幻千城12 发表于 2019-1-22 22:43
列表没有replace方法,只能遍历索引,除非转变数据结构

谢谢

17傻子 发表于 2019-1-23 17:13:10

heidern0612 发表于 2019-1-23 07:54
你这个列表中的张三提前定义过吗?是变量还是字符串?

是变量的话外面直接修改变量内容就行。


是csv文件数据 ,如果能像excel中实现替换就好了

塔利班 发表于 2019-1-23 17:29:41

ls=['小明','张三','王五','张三','张三','张三','张三','张三']
ls=['李四' if x=='张三' else x for x in ls]

ls=['小明','张三','王五','张三','张三','张三','张三','张三']
ls=eval(str(ls).replace('张三','李四'))

幻千城12 发表于 2019-1-23 18:04:10

本帖最后由 幻千城12 于 2019-1-23 18:05 编辑

17傻子 发表于 2019-1-23 17:11
谢谢

csv文件可以用pandas库
import pandas as pd
data = pd.read_csv('你的文件路径')
data = data.replace('张三', '李四')
如果是只改几行或几列也可以指定
页: [1]
查看完整版本: python列表中的value 如何实现替换