python - 如何使用转义字符加入 python 列表?
问题描述
这是一个非常基本的问题,但已经困扰我好几次了。
我有一个这样的python列表:
lst = ['/', ',', ';', '-','+', ' and ']
所需输出
'\/|\,|\;|\-\+
等等。即\
在开头和|
结尾添加。基本上,我只是想为他们创建一个正则表达式。
我的尝试
['\' + i + '|' for i in lst ] # syntax error
['\\' + i + '|' for i in lst ] # wrong answer
更新
我已经修正了错字。主要问题是为什么我会收到语法错误并且不能简单地使用列表理解?
解决方案
您会收到语法错误,'\'
因为反斜杠转义了第二个引号,因此它不会终止字符串。这就是为什么你需要转义反斜杠。
列表推导创建一个列表,它不创建一个字符串。
用于join
将迭代器的结果与每个元素之间的分隔符组合起来。
用于re.escape()
添加正则表达式所需的转义。
'|'.join(re.escape(x) for x in lst)
推荐阅读
- java - 将 VPN 集成到应用程序桌面
- android - Android 共享应用常量最佳实践
- javascript - 创建许多 SVG `
- qt - 将 Widget 的所有内容打印为 PDF(甚至滚动区域的元素)
- asp.net-mvc - ASP.Net Core MVC 日期控制 - 更改填充?
- http - nginx auth TCP套接字不是http请求?
- google-cloud-platform - 缺少活动的 Google Cloud Function 实例,每个请求都以超时结束
- numpy - 带有 RuntimeWarning 的 RLlib PPO 奖励扁平线:空切片的平均值
- swift - 导航控制器中的自定义后退按钮
- python - Selenium - 具有相同类型的多个按钮[python]