小编mat*_*ien的帖子

迭代列表列表,维护列表结构

假设我有以下名单:

names = [['Matt', 'Matt', 'Paul'], ['Matt']]
Run Code Online (Sandbox Code Playgroud)

我只想返回列表中的“Matts”,但我也想维护列表结构的列表。所以我想返回:

[['Matt', 'Matt'], ['Matt']]
Run Code Online (Sandbox Code Playgroud)

我有这样的东西,但这会将所有内容一起附加到一个大列表中:

matts = [name for namelist in names for name in namelist if name=="Matt"]
Run Code Online (Sandbox Code Playgroud)

我知道这样的事情是可能的,但我想避免迭代列表和附加。这可能吗?

names = [['Matt', 'Matt', 'Paul'], ['Matt']]
matts = []
for namelist in names:
    matts_namelist = []
    for name in namelist:
        if name=="Matt":
            matts_namelist.append(name)
        else:
            pass
    matts.append(matts_namelist)
        
Run Code Online (Sandbox Code Playgroud)

python loops list append

1
推荐指数
1
解决办法
719
查看次数

标签 统计

append ×1

list ×1

loops ×1

python ×1