请教一个复杂 list:[1,[1,2],'3',(5),[3,4,5]] 中的各个元素怎么识别

请问一个复杂 list:[1,[1,2],'3',(5),[3,4,5]] 中的各个元素如何识别?
比如我要先提取   list   中的   list,即[1,2]跟[3,4,5]
然后再提取   array   即   (5),然后再str,即 '3 '等等。。。
应该怎样提取出来呢?
应该有办法吧?

我翻下了手册,没找到,或者谁能提示下,手册在哪块可以找到这方面的内容?

------解决方案--------------------
for i in l1:
print type(i) == list
------解决方案--------------------
type(jj)返回的是類型對象而不是字符串
------解决方案--------------------
> > > import types
> > > l = [1,[1,2], '3 ',(5,),[3,4,5]]
> > > [e for e in l if type(e) == types.ListType]
[[1, 2], [3, 4, 5]]
> > > [e for e in l if type(e) == types.TupleType]
[(5,)]
> > > [e for e in l if type(e) == types.StringType]
[ '3 ']
> > >
注意:
如果tuple只有一个元素也要这样写:(n,)不能只写成(n),会被python误当成n本身的类型。例如:
> > > type((5,)), type((5))
( <type 'tuple '> , <type 'int '> )
> > > type(([],)), type(([]))
( <type 'tuple '> , <type 'list '> )