1. 程式人生 > >python多行代碼簡化

python多行代碼簡化

words tin sig 代碼簡化 stop ext rom ive for

python中,可以把多行代碼簡化為一行,把for循環和if條件判斷都集中到一行裏來寫,示例如下:

>>> from nltk.corpus import stopwords
>>> english_stopwords = stopwords.words(english)#加載nltk中的英文停用詞數據
#創建一個列表,內含3個單詞列表
>>> texts_tokenized = [[writing, ii, rhetorical, composing, rhetorical, composing],[engages
, series, interactive, reading],[research, composing, activities, along, assignments, designed, help]]
#用多行代碼對texts_tokenized去停用詞
>>> text_filtered_stopwords = [[word for word in document if not word in english_stopwords] for document in texts_tokenized] >>> text_filtered_stopwords [[
writing, ii, rhetorical, composing, rhetorical, composing], [engages, series, interactive, reading], [research, composing, activities, along, assignments, designed, help]]

然後改成用多行的常規寫法:

>>> texts_tokenized = [[writing, ii, rhetorical, composing, 
rhetorical, composing],[engages, series, interactive, reading],[research, composing, activities, along, assignments, designed, help]] >>> documents = [] >>> texts_filtered_stopwords =[] >>> for document in texts_tokenized:   for word in document:   if word not in english_stopwords:   documents.append(word)   texts_filtered_stopwords.append(document) >>> texts_filtered_stopwords [[writing, ii, rhetorical, composing, rhetorical, composing], [engages, series, interactive, reading], [research, composing, activities, along, assignments, designed, help]]

可以看到得出一樣的結果,但是代碼的效率和簡潔程度大大提升

python多行代碼簡化