对列表进行迭代以对每个成员应用方法

2024-10-02 14:21:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个要应用方法的字符串列表(.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']]

Tags: 方法函数字符串innoneconfigmap列表
3条回答

作为@thefourtheye的wser的替代方法,您可以使用map

config = ['a b','c d']

new_config = list(map(lambda x: x.split(), config))

print(new_config)
# [['a', 'b'], ['c', 'd']]

你可以用一个简单的list comprehension,像这样

>>> config = ['a b','c d']
>>> [item.split() for item in config]
[['a', 'b'], ['c', 'd']]

如果要使用^{},可以将^{}函数传递给它。但是,python3.x的map返回一个iterable映射对象。你知道吗

>>> map(str.split, config)
<map object at 0x7f9843a64a90>

因此,需要使用^{}函数显式地将其转换为列表,如下所示

>>> list(map(str.split, config))
[['a', 'b'], ['c', 'd']]
config = ['a b','c d']

创建空列表

configSplit = list()

迭代每个项目,拆分,添加到新列表。你知道吗

for item in config:
    configSplit.append(item.split())

相关问题 更多 >