我在Python中创建一个集合来容纳键盘上的所有符号,但显然有一些构成了一些问题。有没有办法让他们在那里没有遇到问题?
这是我的设置:
symbols = {`,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,[,},},|,\,:,;,",',<,,,>,.,?,/}
为了解决大部分问题,因为在Python #
中要发表评论,我将所有内容包括在内:
symbols = {'`','~','!','@','#','$','%','^','&','*','(',')','_','-','+','=','{','[','}','}','|','\',':',';','"',''','<',',','>','.','?','/'}
哪个适用于该角色,但现在当我遇到'
和\
时,我已经看到了问题。是否有更好的方法来制作此套装?
答案 0 :(得分:10)
您可以通过转义来修复反斜杠,并且可以通过将其放在双引号中来修复'
:
symbols = {..., '\\', ... "'", ...}
但输入所有这些都非常繁琐。为什么不直接使用string.punctuation
:
>>> from string import punctuation
>>> set(punctuation)
{'~', ':', "'", '+', '[', '\\', '@', '^', '{', '%', '(', '-', '"', '*', '|', ',', '&', '<', '`', '}', '.', '_', '=', ']', '!', '>', ';', '?', '#', '$', ')', '/'}
>>>
答案 1 :(得分:-1)
我宁愿把它们都放在三引号中,就像这样。它会忽略任何特殊字符:
`''' `,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,[,},},|,\,:,;,",',<,,,>,.,?,/'''`