我是python的新手,但如果你有一个文本行列表说
["rr tt hh", "qq pp ll"]
如何根据元素之间的空格字符进一步将列表的每个元素拆分为数组。期望的结果是 一个包含以下
的新数组list 1 position ["rr", "tt", "hh"]
2 position ["qq", "pp", "ll"]
等等
答案 0 :(得分:3)
这是一种方法:
>>> l = ["rr tt hh", "qq pp ll"]
>>> list(map(str.split, l))
[['rr', 'tt', 'hh'], ['qq', 'pp', 'll']]
如果您对可迭代而非外部列表感到满意,则可以删除list()
调用。
另一种方法是
>>> [el.split() for el in l]
[['rr', 'tt', 'hh'], ['qq', 'pp', 'll']]
答案 1 :(得分:2)
字符串split()
方法根据分隔符将字符串拆分为子字符串列表。如果未指定分隔符,则默认为空格' '
。
>>> best_list_ever = ['rr tt hh', 'qq pp ll']
>>> best_list_ever[0]
'rr tt hh'
>>> best_list_ever[0].split()
['rr', 'tt', 'hh']
>>> best_list_ever[1].split()
['qq', 'pp', 'll']
@ NPE的第一种方法最简洁,但使用这些知识可以做到:
[x.split() for x in best_list_ever]