如果我要生成基於文檔的行元素的元組的列表,我可以這樣做:拆包列表理解內部分裂
[(line.split()[0], line.split()[-1][3:8]) for line in open("doc.txt")]
例如(我加了分片顯示,我可能希望對分割的元素使用一些操作)。
不過我想避免使用分裂兩次,因爲這是效率不高。
所以我想使用類似拆包,與
[(linesplit0, linesplit1[3:8]) for line in open("doc.txt") for (linesplit0, linesplit1) in line.split()]
但不能因爲工作中有沒有分裂的元組,因此在分割的每個元素,我們將缺少一個元素。
我想要的是允許使用佔位符名稱作爲分割結果的列表(如splittedlist或其他),並且可以與索引(splittedlist [0])一起使用,或者解包或兩者) ,並且這將與理解列表語法兼容。
是否可行?
'[(拉姆達話:(字[0],詞語[-1] [3:8]))(line.split()),例如,開放線( 「doc.txt」)]' –
使用一個嵌套發生器表達式:'[(LS [0],LS [-1] [3:8]),用於(line.split LS(),例如,開放( 'doc.txt' 線)。'把發電機表達在一個單獨的行中,如果需要爲了可讀性而在一個變量中。 –
對不起,重複的,但是表達式並沒有幫助找到它 –