假设我有以下名单:
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)