首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在列表中创建列表,其中未来的每个列表都由列表中的空格分隔

如何在列表中创建列表,其中未来的每个列表都由列表中的空格分隔
EN

Stack Overflow用户
提问于 2018-08-27 11:29:21
回答 4查看 211关注 0票数 3

用户提供输入空间:

代码语言:javascript
复制
row = list(input())

print(row)

['1','2','3',' ','4','5','6',' ','7','8','9',' ']

因此,我需要创建‘行’列表到下面。该列表根据空格划分为子列表:

代码语言:javascript
复制
[['1','2','3'],['4','5','6'],['7','8','9']]
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-08-27 11:31:23

您可以使用str.split按空格拆分:

代码语言:javascript
复制
myinput = '123 456 789'
row = list(map(list, myinput.split()))

print(row)

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

或者,使用列表理解:

代码语言:javascript
复制
row = [list(i) for i in myinput.split()]
票数 4
EN

Stack Overflow用户

发布于 2018-08-27 11:36:05

您可以使用str.split来拆分空格上的输入,以给出子字符串的列表。

例如,'123 456 789'将成为['123', '456', '789']__。

然后使用清单理解将这些字符串转换为具有list()构造函数的字符列表(正如您已经熟悉的那样)。

制定最终代码:

代码语言:javascript
复制
row = [list(s) for s in input().split()]
#[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
票数 2
EN

Stack Overflow用户

发布于 2018-08-27 11:39:44

从列表开始,而不是从字符串开始,可以使用itetools.groupby进行操作。

代码语言:javascript
复制
from itertools import groupby

row = ['1','2','3',' ','4','5','6',' ','7','8','9',' ']

out = [list(group) for key, group in groupby(row, lambda x: x != ' ') if key]
print(out)
# [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

我们根据值是否是空格对值进行分组,只保留不由空格组成的组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52038311

复制
相关文章

相似问题

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