简单的python解决方案,用于检查字符串集dict值中的多个if字符串

时间:2017-04-11 16:10:05

标签: python

我想检查一个短语是否在一个文本字符串中,如果是,则将字典值发送到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

2 个答案:

答案 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