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',並*瞧!*! –