如何在map()中使用str.replace()作为函数

18 投票
5 回答
31290 浏览
提问于 2025-04-16 13:23

我有一个从Excel表格中得到的行列表。我想对每一行中的每个项目使用替换功能,把 ' 替换成 \'

但是,这样做不行:

row = map(replace('\'', "\\'"), row)

这会报错,说替换函数最多只能接受3个参数,但我只提供了2个。

有没有办法在Python中用map函数来进行替换呢?

5 个回答

2

replace的第一个参数应该是一个函数;而你现在的写法像是在尝试调用一个函数。

别用map了。用这个:

row = [x.replace(something, other) for x in row]
6

在这里,最符合Python风格的写法可能是使用列表推导式:

row = [ x.replace('\'', "\\'") for x in row ]
26
map( lambda s: s.replace(...), row )
[s.replace(...) for s in row]

或者使用列表推导式

撰写回答