姬長信(Redy)

python – 通过列表理解展平列表列表


我试图在python中使用list comprehension来压缩列表.我的名单有点像
[[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 "", line 1, in 
    TypeError: 'int' object is not iterable

如何使用列表理解来展平这种类型的列表?