determine if a list contains other lists

Question:

if I have a list, is there any way to check if it contains any other lists?

what i mean to say is, I want to know if a list has this strcuture: [] as opposed to this structure [[]]

so, compare [1,2,3,4] to [1,[2,3],4]

this is complicated by the fact that i have a list of strings.

well, phihag’s solution seems to be working so far, but what I’m doing is this:

uniqueCrossTabs = list(itertools.chain.from_iterable(uniqueCrossTabs))

in order to flatten a list if it has other lists in it.
But since my list contains strings, if this is done on an already flattened list, I get a list of each character of each string that was in the original list.
This is not the behavior i was looking for. so, checking to see if the list needs to be flattened before flattening is neccessary.

Asked By: Ramy

||

Answers:

lst1 in lst2

Yields True iff lst1 is in lst2.

Answered By: phynfo
any(isinstance(el, list) for el in input_list)
Answered By: phihag

You can take phihag’s answer even further if you actually want a list of all the lists inside the list:

output_list = filter( lambda x: isinstance(x,list), input_list)
Answered By: Nate
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.