我必须通过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]
正如评论中已经提到的其他人一样,您可以按照以下所有这些连续操作进行:
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)