By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,629 Members | 1,222 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,629 IT Pros & Developers. It's quick & easy.

walking a list

P: n/a
Hi all,

I have this little question, basicly i solved it already by writing a
little bit of code for it (using recursion), but still i am wondering if
there is a shorter ways to do things (like 1 or 2 commands).

the problem is this, imagine i have a list:

list = [1, 2, [3, 2], 5, [6, 5, 4]]

if i print out this list using 'for element in list: print element,'
it will show me the following:

1
2
[3, 2]
5
[6, 5, 4]

but what i really want to show is:

1
2
3
2
5
6
5
4

What i want to do is run through the list and when i get back a list run
through that list as well (and if that list contains a list run through it
again etc.).

all suggestions are welcome, i'm ready to learn from the pro's ;)

--
One monk said to the other, "The fish has flopped out of the net! How will it
live?" The other said, "When you have gotten out of the net, I'll tell you."

Jul 18 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
def print_or_recurse(l):
for i in l:
if isinstance(i, list): print_or_recurse(i)
else: print i

print_or_recurse([1,2,[3,2],5,[6,5,4]])

Jeff

Jul 18 '05 #2

P: n/a
On Fri, 23 Apr 2004 13:21:43 -0500, Jeff Epler wrote:
if isinstance(i, list): print_or_recurse(i)


great! thanks, i didn't know 'isinstance' existed.
what i did was the following:

if 'list' in str(type(list)):

it worked as well :)

--
One monk said to the other, "The fish has flopped out of the net! How will it
live?" The other said, "When you have gotten out of the net, I'll tell you."

Jul 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.