python - 在 python 中为字符串字段创建嵌套列表

标签 python

我有以下输入数据。 我可以为除最后一个字段之外的所有其他字段创建嵌套列表。最后一个字符串字段还可以在单​​词之间包含空格(例如:Hello!welcome)。

input  = ['a1 a2 a3 a4 Hello! welcome','b1 b2 b3 b4 how are you','c1 c2 c3 c4 you are welcome']

当前输出:

[['a1', 'a2', 'a3', 'a4', 'Hello!', 'welcome'],   
 ['b1', 'b2', 'b3', 'b4', 'how', 'are', 'you'],   
 ['c1', 'c2', 'c3', 'c4', 'you', 'are', 'welcome']] 

预期输出:

[['a1', 'a2', 'a3', 'a4','Hello! welcome'],     
 ['b1', 'b2', 'b3', 'b4','how are you'],   
 ['c1', 'c2', 'c3', 'c4','you are welcome']]    

下面的代码行产生了上面的当前输出,但我需要转换代码以获得预期的结果。谁能告诉我实现预期结果的方法。

for ix in range(len(input) ):
    nested.append(input[ix:ix + 1])

for i in range(len(nested)):
    list1.append(nested[i][0].split())

最佳答案

您可以为此目的使用re.split:

import re

input  = ['a1 a2 a3 a4 Hello! welcome','b1 b2 b3 b4 how are you','c1 c2 c3 c4 you are welcome']

res=[re.split(" ", el, maxsplit=4) for el in input]

print(res)

输出:

[['a1', 'a2', 'a3', 'a4', 'Hello! welcome'], ['b1', 'b2', 'b3', 'b4', 'how are you'], ['c1', 'c2', 'c3', 'c4', 'you are welcome']]

[Program finished]

引用:https://docs.python.org/2/library/re.html

关于python - 在 python 中为字符串字段创建嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58822523/

相关文章:

python - 在 Snakemake 中使用 STAR 共享内存模块进行顺序对齐任务

python - 传递一个 kwargs 列表?

python - 从 python 控制台使用 grep

python - 开始于 python 中的列表?

python - sympy.stats 模块中统一变量总和的 PDF

python - 将 Python 中的二进制文件读入结构

python - 在 Python 中使用 string.Template 进行动态字符串替换

python - 提高SQLAlchemy更新效率

python - 如何通过 matplotlib TextBox 小部件中的代码更改文本

python - 是否可以在 __post_init__() 或更高版本中卡住数据类对象?