我必须对存储文本行的Python列表执行多个顺序操作,以清除该数据。当前(如下所示),每次执行每个操作时,我都会创建一个新变量。我的问题是:是否有一种更好的(更Python化的)方法来执行所有这些操作,而每次我想更改数据时都无需创建新变量?
这只是我目前正在做的一个例子:
corpus_1 = [strip_non_alphanum(line) for line in corpus]
corpus_2 = [line for line in corpus_1 if line.rstrip()]
corpus_3 = [strip_multiple_whitespaces(line) for line in corpus_2]
train_data_1 = [line.split(' ') for line in corpus_3]
train_data = [list(filter(None, line)) for line in train_data_1]
答案 0 :(得分:1)
正如其他人在评论中已经提到的那样,您可以执行以下所有连续操作:
train_data = []
for line in corpus:
line = strip_non_alphanum(line)
if line.rstrip():
elem = list(filter(None,strip_multiple_whitespaces(line).split()))
train_data.append(elem)