如何将Python中含for、if的单行列表推导式改写为多行写法
修改后的实现代码
def stopwords_removal(words): # 初始化空列表存储过滤后的结果 filtered_words = [] for word in words: if word not in stopwords_indonesia: filtered_words.append(word) return filtered_words
转换逻辑说明
原来的单行列表推导式是Python中快速生成列表的语法糖,和上面的多行for循环逻辑完全等价,转换步骤对应如下:
- 先初始化一个空列表,用来存放符合条件的元素
- 写for循环遍历原列表
words中的每一个元素word - 把列表推导式里的判断条件
if word not in stopwords_indonesia直接放到for循环内部作为分支判断 - 符合判断条件的元素就用
append()方法添加到初始化的空列表中 - 循环结束后返回存储结果的列表即可
内容的提问来源于stack exchange,提问作者caeruleum
相关产品推荐
相关产品推荐

