Hi Krace,

I believe as your code returns a generator instance it must be efficient in
handling large input as well.
And as you said in previous reply I've added "not isinstance(item, (str,
bytes))", the code looks like

def flat_it(items):
    for item in items:
        if isinstance(item, Iterable) and not isinstance(item, (str,
bytes)):
            for subitem in flat_it(item):
                yield subitem
        else:
            yield item

and it works fine.


But is there any possibilities to use "List Comprehension" methodology ?


def flat_it(items):

    return [item for item in items if not isinstance(item, Iterable) *else
flat_it(item)*]


The above solution should be possible, but unfortunately list comprehension
syntax dosen't allows an extra else condition (mentioned in bold letters
above).



-- 

  [image: --]
Rajiv Subramanian M
[image: http://]about.me/rajiv.m1991
     <http://about.me/rajiv.m1991?promo=email_sig>
_______________________________________________
BangPypers mailing list
BangPypers@python.org
https://mail.python.org/mailman/listinfo/bangpypers

Reply via email to