I’m trying to understand why a double bracket list throws an error when using .split().
If I can’t get rid of the double brackets, what are other ways to split both double and single bracket lists?
y = (['3801 - 2', '123 + 49']) print(type(y)) for i in y: print(i.split(' '))
<class 'list'> ['3801', '-', '2'] ['123', '+', '49']
x = ([['3801 - 2', '123 + 49']]) print(type(x)) for i in x: print(i.split(' '))
<class 'list'> AttributeError: 'list' object has no attribute 'split'
Because when you have a list inside a list.
The iteration unravel only the outermost list, whose only element is another that does not support the split method.
You either use a nested loop:
for j in y: for i in j: i.split()
or access the first element:
for i in y: i.split()