Skip to main content
 首页 » 编程设计

python之在 Python 中使用 map() 有条件地迭代不相等的列表

2025年05月04日25Terrylee

我想这样做:

a = ['xxx', 'yyy'] 
b = 'yyy' 
 
for each_item in a: 
    if each_item == b: 
        print(['zzz']) 
>>>['zzz'] 

我可以用列表理解来做到这一点:

print(['zzz' for each_item in a if each_item in b]) 
>>>['zzz'] 

Q1。请告诉我如何使用 map() 函数编写此代码?这些列表长度不等,第一个列表可能很大

Q2。在函数式编程中还有哪些其他选择?

请您参考如下方法:

您可能正在寻找过滤器:

a = ['xxx', 'yyy'] 
b = 'yyy' 
 
interesting = list(filter(lambda x: x == b, a)) 
print(interesting) 

或者对更大的列表使用生成器理解:

a = ['xxx', 'yyy'] 
list_ = (item  
    for item in a  
    if item == b)