我有一份从Excel表中返回的行列表。我想在每个行项目上使用替换函数将'
替换为\'
。
然而,这并不起作用:
row = map(replace('\'', "\\'"), row)
这只是一个错误,关于replace至多可以使用3个参数,但只有2个参数。
在Python中是否有一种方法可以在map中使用replace?
我有一份从Excel表中返回的行列表。我想在每个行项目上使用替换函数将'
替换为\'
。
然而,这并不起作用:
row = map(replace('\'', "\\'"), row)
这只是一个错误,关于replace至多可以使用3个参数,但只有2个参数。
在Python中是否有一种方法可以在map中使用replace?
map( lambda s: s.replace(...), row )
或者使用列表推导式
[s.replace(...) for s in row]
row = [ x.replace('\'', "\\'") for x in row ]
replace函数的第一个参数应该是一个函数,而你尝试的是函数调用。
忘记map吧。使用
row = [x.replace(something, other) for x in row]
map(operator.methodcaller("replace", '\'', '\\\''), ...)
实际上,列表理解可能更简洁。
如果你试图转义字符串,可能有更好的方式(例如re.escape
)。
row = map(lambda x: x.replace('\'', "\\'"), row)
或者你可以使用 re
的替换函数。