我寫的一些代碼的條件這樣的正常工作和做什麼,我想:Python列表理解 - for循環
#!/usr/bin/env python3
myList = [[0], [1, 2], {'val': [3, 4, 5]}, [6]]
flat1 = []
for sublist in myList:
if type(sublist) is list:
for item in sublist:
flat1.append(item)
else:
for item in sublist['val']:
flat1.append(item)
print(flat1)
所以它的標準嵌套列表壓扁扭曲。扭曲的是,一些嵌套的項目實際上不是列表,而是具有'val'的字典(並且我們希望在這些情況下'val'列表中的項目)。
我試圖把它變成列表理解。這裏是我試過的:
flat2 = [item for sublist in myList for item in sublist if type(sublist) is list else for item in sublist['val']]
print(flat2)
我得到以下錯誤,指向'其他'的插入符號。
SyntaxError: invalid syntax
是的,我寫入列表的理解看起來像廢話,毫無疑問,編譯器不知道我在做什麼。
是否有可能做我想用列表理解做什麼?
哦,當然!謝謝 – braks