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循环和列表理解产生不同的结果?
为什么?
对于初学者来说,你想'append'到'find'应该甚至不存在只因只有当列表理解完成时才会被分配... – deceze
'append'不返回附加列表,它追加,但返回'None'。 – Julien
您将'find'重新分配给列表理解。不要这样做,打印'find',并*瞧!*! –