我有一些重复的代码。我试图检查句子列表中的每个句子是否在开头包含某个单词。如果没有,我希望它做一些事情,然后在字典中打印这些值。否则,我想让它做些别的事情,然后再打印另一本字典
但是我不知道如何将重复的代码转换成函数,因为我需要在重复代码的第一个循环的开头添加一个变量
以下是我目前的代码:
if not audio_keyword_dictionary:
for index, sentence in enumerate(sentences):
keyword_set_inside_dict = set()
for each_keyword in complete_keyword_list:
if each_keyword in sentence:
keyword_set_inside_dict.add(each_keyword)
keyword_dict[sentence] = keyword_set_inside_dict
for key, value in keyword_dict.items():
print(f'{value} - {key}\n')
else:
for index, sentence in enumerate(sentences):
keyword_set_inside_dict = set()
for each_keyword in complete_keyword_list:
if each_keyword in sentence:
keyword_set_inside_dict.add(each_keyword)
keyword_dict[sentence] = keyword_set_inside_dict
for each_value in audio_keyword_dictionary.values():
if each_value in sentences[index - 1] and sentences[index - 1] != '':
audio_nested_dictionary[each_value] = keyword_dict
for k, v in audio_nested_dictionary.items():
for key, value in v.items():
print(f'{k} - {value} {key}\n')
以下是我创建的函数:
def iterate_sentences(sentences, keyword_list):
keyword_dict = dict()
for index, sentence in enumerate(sentences):
keyword_list_inside_dict = list()
for each_keyword in complete_keyword_list:
if each_keyword in sentence:
keyword_list_inside_dict.append(each_keyword)
keyword_set = set(keyword_list_inside_dict)
keyword_dict[sentence] = keyword_set
return keyword_dict
Bu如果我需要重复部分之外的“索引”,我如何使用它
在本部分中,准确地说,在重复部分结束之后:
for each_value in audio_keyword_dictionary.values():
if each_value in sentences[index - 1] and sentences[index - 1] != '':
audio_nested_dictionary[each_value] = keyword_dict
不确定是否需要说,但句子是一个遵循模式的句子列表。它以一个包含audio{positive_number_here}
的字符串开始,然后是另一个具有实际意义的字符串,然后是另一个audio{positive_number_here + 1}
等等,在这两个字符串之间交替使用。列表以一个有意义的字符串结尾
有两种选择:
self.index
,并在以后引用它李>您不需要函数来消除重复。只需移动
if
语句相关问题 更多 >
编程相关推荐