Welcome, guest | Sign In | My Account | Store | Cart
```    def flattenlist(L):
import types
WhiteTypes = ('StringType', 'UnicodeType', 'StringTypes', 'ListType',
'ObjectType', 'TupleType')
BlackTypes= tuple( [getattr(types, x) for x in dir(types)
if not x.startswith('_')
and x not in whites] )

tmp = []
def core(L):
if  not hasattr(L,'__iter__'):
return [L]
else :
for i in L:
if isinstance(i,BlackTypes):
tmp.append(i)
continue
if type(i) == type(str()):
tmp.append(i)
else:
core(i)
return tmp
return core(L)

#Examples x=[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['x']]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>>> flattenlist(x)
['x']
>>> x=(((((1)))))
>>> flattenlist(x)
[1]
>>> x=[(),(),[]]
>>> flattenlist(x)
[]
>>> x=[(1),('1'),[1.0]]
>>> flattenlist(x)
[1, '1', 1.0]
>>> x=[[[[[[(((([1,1]))))]]]]]]
>>> flattenlist(x)
[1, 1]
>>> x=1
>>> flattenlist(x)
[1]
>>> x=flattenlist
>>> flattenlist(x)
[<function flattenlist at 0x16a8320>]
>>>
```

#### Diff to Previous Revision

```--- revision 2 2010-06-12 07:11:56
+++ revision 3 2010-06-18 03:45:20
@@ -1,8 +1,8 @@
def flattenlist(L):
import types
-        whites = ('StringType', 'UnicodeType', 'StringTypes', 'ListType',
+        WhiteTypes = ('StringType', 'UnicodeType', 'StringTypes', 'ListType',
'ObjectType', 'TupleType')
-        Types= tuple( [getattr(types, x) for x in dir(types)
+        BlackTypes= tuple( [getattr(types, x) for x in dir(types)
if not x.startswith('_')
and x not in whites] )

@@ -12,7 +12,7 @@
return [L]
else :
for i in L:
-                    if isinstance(i,Types):
+                    if isinstance(i,BlackTypes):
tmp.append(i)
continue
if type(i) == type(str()):
@@ -25,7 +25,7 @@

-#Examples x=[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['x']]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
+#Examples x=[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[['x']]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
>>> flattenlist(x)
['x']
>>> x=(((((1)))))
```