壓扁名單列表我試圖用壓平列表理解Python中的列表。我的名單有點像通過列表理解
[[1, 2, 3], [4, 5, 6], 7, 8]
只是在列表名單打印,則單個項目我寫了這個代碼
def flat(listoflist):
for item in listoflist:
if type(item) != list:
print item
else:
for num in item:
print num
>>> flat(list1)
1
2
3
4
5
6
7
8
然後我用同樣的邏輯來拉平通過列表理解我的列表我得到出現以下錯誤
list2 = [item if type(item) != list else num for num in item for item in list1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
如何使用列表理解來壓扁這種列表清單?
工作這是偉大的使用2.X提問者一個恥辱,但它是值得的3.x中用戶應該使用'str',而不是一個音符'basestring'。 –
@Ashwini如果我的元素的類型是dict而不是整數,應該怎麼做? –
@AnuragSharma小例子? –