字符串文字中的特殊字符

时间:2015-01-20 23:05:47

标签: python string set

我在Python中创建一个集合来容纳键盘上的所有符号,但显然有一些构成了一些问题。有没有办法让他们在那里没有遇到问题?

这是我的设置:

symbols = {`,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,[,},},|,\,:,;,",',<,,,>,.,?,/}

为了解决大部分问题,因为在Python #中要发表评论,我将所有内容包括在内:

symbols = {'`','~','!','@','#','$','%','^','&','*','(',')','_','-','+','=','{','[','}','}','|','\',':',';','"',''','<',',','>','.','?','/'}

哪个适用于该角色,但现在当我遇到'\时,我已经看到了问题。是否有更好的方法来制作此套装?

2 个答案:

答案 0 :(得分:10)

您可以通过转义来修复反斜杠,并且可以通过将其放在双引号中来修复'

symbols = {..., '\\', ... "'", ...}

但输入所有这些都非常繁琐。为什么不直接使用string.punctuation

>>> from string import punctuation
>>> set(punctuation)
{'~', ':', "'", '+', '[', '\\', '@', '^', '{', '%', '(', '-', '"', '*', '|', ',', '&', '<', '`', '}', '.', '_', '=', ']', '!', '>', ';', '?', '#', '$', ')', '/'}
>>>

答案 1 :(得分:-1)

我宁愿把它们都放在三引号中,就像这样。它会忽略任何特殊字符:

`''' `,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,[,},},|,\,:,;,",',<,,,>,.,?,/'''`