首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中将此字符串转换为多维列表?

如何在Python中将此字符串转换为多维列表?
EN

Stack Overflow用户
提问于 2017-05-30 02:08:54
回答 6查看 1.8K关注 0票数 0

我有下一个string

代码语言:javascript
复制
string = 'tuned     1372                root    6u      REG                8,3      4096  102029349 /tmp/ffiabNswC (deleted)\ngmain     1372 2614           root    6u      REG                8,3      4096  102029349 /tmp/ffiabNswC (deleted)\n'

我需要将string的每个元素放入list1[0][..]中,但当我看到新行'\n‘时,我必须将接下来的元素放入list1[1][..]

多维列表,如下所示:

代码语言:javascript
复制
list1 = [["tuned", "1372", "root", "6u", "REG", "8,3", "4096", "102029349", "/tmp/ffiabNswC", "(deleted)"], 
         ["gmain", "1372", "2614", "root", "6u", "REG", "8,3", "4096", "102029349", "/tmp/ffiabNswC", "(deleted)"]]

我用split做了这件事,但它把我都放在了同一个维度上。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-05-30 02:13:39

首先拆分一行(以获得行),然后按空格拆分每个元素(以获得每列):

代码语言:javascript
复制
data = "tuned 1372 root 6u REG 8,3 4096 102029349 /tmp/ffiabNswC (deleted)\ngmain 1372 2614 root 6u REG 8,3 4096 102029349 /tmp/ffiabNswC (deleted)\n"

parsed = [elements.split() for elements in data.strip().split("\n")]  # `strip()` removes the last whitespace so we don't get blank elements

print(parsed)

# [['tuned', '1372', 'root', '6u', 'REG', '8,3', '4096', '102029349', '/tmp/ffiabNswC', '(deleted)'], ['gmain', '1372', '2614', 'root', '6u', 'REG', '8,3', '4096', '102029349', '/tmp/ffiabNswC', '(deleted)']]
票数 6
EN

Stack Overflow用户

发布于 2017-05-30 02:14:38

以下函数将为您完成此操作:

代码语言:javascript
复制
f = lambda list: [sublist.split(' ') for sublist in list.split('\n')]

只要通过f(string)调用即可。

另外,如果你不想在你的子列表中有任何空条目,你可以这样做

代码语言:javascript
复制
f = lambda list: [sublist.split(' ') for sublist in list.split('\n') if sublist]
票数 1
EN

Stack Overflow用户

发布于 2017-05-30 02:18:48

输入:-

代码语言:javascript
复制
string = 'tuned 1372 root 6u REG 8,3 4096 102029349 /tmp/ffiabNswC 
(deleted)\ngmain 1372 2614 root 6u REG 8,3 4096 102029349 /tmp/ffiabNswC 
(deleted)\n'

代码:-只需写

代码语言:javascript
复制
 mylist=string.split()

输出:-

代码语言:javascript
复制
[tuned
 1372
 root
6u
REG
8,3
4096
102029349
/tmp/ffiabNswC
(deleted)
gmain
1372
2614
root
6u
REG
8,3
4096
102029349
/tmp/ffiabNswC
(deleted)]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44248313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档