是否有一行代码编写的Python条件列表?

2024-04-19 16:33:27 发布

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

我有以下代码,运行非常好。然而,我一直在努力改进,我想我们是否可以用一行字来写这个:

l,listSex = [], ['male1', 'female23', 'male2', 'female1', 'female2']
for s in listSex:
    if 'female' in s:
        l.append(1)
    else:
        l.append(0)

我这里的问题是如何处理else情况(否则,答案会非常简单)。你知道吗


Tags: 答案代码inforif情况elsefemale
2条回答

将列表理解与条件表达式一起使用。你知道吗

listsSex = ['male1', 'female23', 'male2', 'female1', 'female2']
l = [1 if 'female' in s else 0 for s in listSex]

也可以使用lambda表达式:

listSex=['male1','female23','male2','female1','female2']

l= map(lambda x: int(not('female' in x)), listSex)

或者在使用类似于@chepner的逻辑时

l  = map(lambda x: int(x.startswith('male')), listSex)

相关问题 更多 >