我有一个要应用方法(.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']]
您可以使用简单的列表理解,比如这个
>>> config = ['a b','c d']
>>> [item.split() for item in config]
[['a', 'b'], ['c', 'd']]
如果您想使用map
,可以将str.split
函数传递给它。但是,Python3.x的map
返回了一个可迭代的映射对象。
>>> map(str.split, config)
<map object at 0x7f9843a64a90>
因此,您需要使用list
函数将其显式转换为列表,如
>>> list(map(str.split, config))
[['a', 'b'], ['c', 'd']]
作为@thefortheye的wser的替代方案,您可以使用map
:
config = ['a b','c d']
new_config = list(map(lambda x: x.split(), config))
print(new_config)
# [['a', 'b'], ['c', 'd']]
config = ['a b','c d']
创建一个空列表
configSplit = list()
遍历每个项目,拆分,添加到新列表中。
for item in config:
configSplit.append(item.split())