Search a list of nested tuples of strings in python -


lets have list x:

x=['alfa[1]', 'bravo', ('charlie[7]', 'delta[2]'), 'echo[3]'] 

i want create new list both flattens , removes bracketed number if item has one. result should be:

x_flattened_bases = ['alfa', 'bravo', 'charlie', 'delta', 'echo'] 

here have:

x_flattened_bases = [] item in x:     if isinstance(item, tuple):         x_flattened_bases.extend([value.split('[')[0] value in item)     else:         x_flattened_bases.append(item.split('[')[0]) 

there 1 level of nesting in list.

something this:

import collections import re def solve(lis):   element in lis:     if isinstance(element, collections.iterable) , not isinstance(element,str):       x in solve(element):         yield re.sub(r"\[\d+\]",r"",x)     else:       yield re.sub(r"\[\d+\]",r"",element)  x=['alfa[1]', 'bravo', ('charlie[7]', 'delta[2]'), 'echo[3]'] print list(solve(x)) 

output:

['alfa', 'bravo', 'charlie', 'delta', 'echo'] 

Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -