Skip to main content
 首页 » 编程设计

python之嵌套列表,来自 bash 输出的 Python

2025年05月04日21cyq1162

我们如何通过取消终端输出来创建嵌套列表?

例如:我正在查询终端以获得一些输出(在这种情况下,它与 Yarn 有关)

import subprocess     
outputstring=subprocess.check_output("yarn application -list | grep " + user, shell=True)     
mylist = (re.split("[\t\n]+",outputstring))= 

这会在 Yarn 上运行的每个作业的每一行生成一个输出。 例如:

line1 = a,b,c,d,e 
line2 = f,g,h,i,j 
line3 = k,l,m,m,o 

我能够从这个输出中创建一个列表,但是作为一个列表,所有单词都是逗号分隔的值,比如

mylist = [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o] using the regex above. 

但需要创建如下列表:

mylist = [[a,b,c,d,e], [f,g,h,i,j], [k,l,m,n,o]]  

即:

mylist = [[line1],[line2],[line3]] 

谁能建议如何实现这一点?

我目前使用的正则表达式是:

mylist = (re.split("[\t\n]+",outputstring)) 

请您参考如下方法:

试试这个列表理解:

a="""a,b,c,d,e 
f,g,h,i,j 
k,l,m,m,o""" 
mylist=[e.split(",") for e in a.split("\n")]