我想检查一个短语是否在一个文本字符串中,如果是,则将字典值发送到1,然后再重复三个短语。我的代码可以使用,但我确信它有一个较短的解决方案,但似乎找不到。
self.results['p1_txt'] = self.results['p2_txt'] = self.results['p2b_txt'] = self.results['p3_txt'] = 0
if "phase_1" in self.results['text']:
self.results['p1_txt'] = 1
if "phase_2" in self.results['text']:
self.results['p2_txt'] = 1
if "phase_2b" in self.results['text']:
self.results['p2b_txt'] = 1
if "phase_3" in self.results['text']:
self.results['p3_txt'] = 1
答案 0 :(得分:4)
只需使用循环
for item in [1,2,'2b',3]:
if "phase_{}".format(item) in self.results['text']:
self.results['p{}_txt'.format(item)] = 1
答案 1 :(得分:2)
使用常规for
循环的解决方案:
for i in ["1","2","2b","3"]:
if ("phrase_" + i in self.results['text']):
self.results['p' + i + '_txt'] = 1