如果我要生成基于文档的行元素的元组的列表,我可以这样做:拆包列表理解内部分裂
[(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' 线)。'把发电机表达在一个单独的行中,如果需要为了可读性而在一个变量中。 –
对不起,重复的,但是表达式并没有帮助找到它 –