На ночь глядя решил написать. Всё работает, но выглядит по уродски. Помогите довести до ума.
def parenthesis(array) :
'''Make them cry'''
string = array[0]
dictionary = []
start = string.find('{')
end = string.find('}')
if start != -1:
while end > start:
if string[:start]:
dictionary.append(string[:start])
array[0] = string[start+1:]
# pdb.set_trace()
tmp = parenthesis(array)
string = array[0]
start = string.find('{')
end = string.find('}')
if tmp:
dictionary.append(tmp)
#pdb.set_trace()
if string[:end]:
dictionary.append(string[:end])
array[0] = string[end+1:]
return dictionary
STRING = "{}"
print(parenthesis([STRING]))
STRING = "{lol}"
print(parenthesis([STRING]))
STRING = "{lol{lol}lol}"
print(parenthesis([STRING]))
STRING = "{lol{lol}{lol}lol}"
print(parenthesis([STRING]))
Должен выдавать такое:
[]
[['lol']]
[['lol', ['lol'], 'lol']]
[['lol', ['lol'], ['lol'], 'lol']]
Updated!!!
Перемещено mono из talks