cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
MathStatChem
Level VI

JSL Question: How to 'flatten" a list of lists

I would like to convert a "list of lists" e.g.

mylist={{"a","b"}, {"c", "d"}, {"e","f", "g"}}

into a simple list with each element from the nested lists e.g.

// desired outcome is this list
flat_list={"a","b","c","d","e","f","g"}

Is there a simple way to do this in JSL?  

In general, the nested lists may also contain lists, and the depth of nesting may not be the same for each element in the starting list, e.g.

wild_list={{"a", {"b", "c"}}, {"d"}, {{"e", {"f"}}, "g"}};

 

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
gzmorgan0
Super User (Alumni)

Re: JSL Question: How to 'flatten" a list of lists

Attached is a script using charcter functions.  This can also be done with recursion. 

View solution in original post

4 REPLIES 4
gzmorgan0
Super User (Alumni)

Re: JSL Question: How to 'flatten" a list of lists

Attached is a script using charcter functions.  This can also be done with recursion. 

MathStatChem
Level VI

Re: JSL Question: How to 'flatten" a list of lists

Much thanks, very helpful.  I like the recursive function, and I will make use of it.  

MathStatChem
Level VI

Re: JSL Question: How to 'flatten" a list of lists

With you permission, I'd like to put you script in as a JSL cookbook item.  Let me know if that's ok with you.  

gzmorgan0
Super User (Alumni)

Re: JSL Question: How to 'flatten" a list of lists

Sure, go for it.