与for循环和列表理解不同的结果

2021-06-13 12:49:43 发布

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

animals = ['lion' ,'tiger', 'lepord', 'cheetah', 'cat']

find = []

for name in animals:

    if name == 'lion':

        find.append(name)

print (find)

find = [find.append(name) for name in animals if name=='lion']

print (find)

我运行了上面的代码片段,得到了不同的结果。 for循环输出是['lion'] 鉴于 列表理解是['none']。你知道吗

在我看来,for循环和list理解应该产生相同的结果。但事实并非如此。请帮我找出原因。你知道吗