首页 > 解决方案 > 如何使用转义字符加入 python 列表?

问题描述

这是一个非常基本的问题,但已经困扰我好几次了。

我有一个这样的python列表:

lst = ['/', ',', ';', '-','+', ' and ']

所需输出

'\/|\,|\;|\-\+等等。即\在开头和|结尾添加。基本上,我只是想为他们创建一个正则表达式。

我的尝试

['\' + i + '|' for i in lst ] # syntax error
['\\' + i + '|' for i in lst ] # wrong answer

更新

我已经修正了错字。主要问题是为什么我会收到语法错误并且不能简单地使用列表理解?

标签: python

解决方案


您会收到语法错误,'\'因为反斜杠转义了第二个引号,因此它不会终止字符串。这就是为什么你需要转义反斜杠。

列表推导创建一个列表,它不创建一个字符串。

用于join将迭代器的结果与每个元素之间的分隔符组合起来。

用于re.escape()添加正则表达式所需的转义。

'|'.join(re.escape(x) for x in lst)

推荐阅读