我如何才能使if语句更有效?
if ',' in my_string:
my_string = my_string.split(',', 1)[0]
return ', '
elif '.' in my_string:
my_string = my_string.split('.', 1)[0]
return '. '
elif '?' in my_string:
my_string = my_string.split('?', 1)[0]
return '? '
elif '!' in my_string:
my_string = my_string.split('!', 1)[0]
return '! '
elif ';' in my_string:
my_string = my_string.split(';', 1)[0]
return '; '
else:
self.qstring = my_string
return None
我可以列出如下列表:
my_list = [',', '.', '?', '!', ';']
并循环,但我不知道如果我把它全部放在一个循环中仍然如何使用else语句。有什么想法吗?
答案 0 :(得分:2)
遍历您拥有的列表:
for delim in my_list:
if delim in my_string:
my_string = my_string.split(delim, 1)[0]
return delim + ' '
self.qstring = my_string
return None
因为如果任何分隔符匹配,循环将return
之后部分的循环不执行。
答案 1 :(得分:1)
使用re
:
import re
(mystring, delim) = re.split(r'([,\.\?;] )', mystring, 1)[:2]
return delim
答案 2 :(得分:0)
删除my_string
的所有作业。因为这是一个局部变量,所以没有任何结果,因为永远不会返回该值。