我有一个字符串列表,我想要应用一个方法(.split
)。我知道这可以通过for
循环完成,但是知道python的心态我认为有更好的方法,比如map
函数
以下是我想用for
循环
config = ['a b', 'c d']
configSplit = [None] * len(config)
for x in range(len(config)):
configSplit[x] = config[x].split()
configSplit
> [['a', 'b'], ['c', 'd']]
答案 0 :(得分:5)
您可以使用简单的list comprehension,就像这样
>>> config = ['a b','c d']
>>> [item.split() for item in config]
[['a', 'b'], ['c', 'd']]
如果您想使用map
,可以将str.split
功能传递给它。但是,Python 3.x的map
返回一个可迭代的地图对象。
>>> map(str.split, config)
<map object at 0x7f9843a64a90>
所以,您需要使用list
函数将其显式转换为列表,如下所示
>>> list(map(str.split, config))
[['a', 'b'], ['c', 'd']]
答案 1 :(得分:2)
作为@thefourtheye回答的替代方法,您可以使用map
:
config = ['a b','c d']
new_config = list(map(lambda x: x.split(), config))
print(new_config)
# [['a', 'b'], ['c', 'd']]
答案 2 :(得分:0)
config = ['a b','c d']
创建一个空列表
configSplit = list()
迭代每个项目,拆分,添加到新列表。
for item in config:
configSplit.append(item.split())