Получить цифры из строки
Есть следующая строка:
a = [[["0,5"], ["0,6"], ["0,7"]]]
Количество квадратных скобок в начале и в конце строки может быть разным, чаще всего либо две, либо три скобки.
Как можно получить цифры 0,5; 0,6; 0,7 ?
Спасибо!
Ответы (2 шт):
Автор решения: Vladislav Vasilenko
→ Ссылка
from collections.abc import Iterable
def flatten(items, ignore_types=(str, bytes)):
"""
str, bytes - являются итерируемыми объектами,
но их хотим возвращать целыми
"""
for x in items:
if isinstance(x, Iterable) and not isinstance(x, ignore_types):
yield from flatten(x)
else:
yield x
items = [1, 2, [3, 4, [5, 6], 7], 8, ('A', {'B', 'C'})]
for x in flatten(items):
print(x)
Автор решения: ПИТОНИСТ версия-3-8
→ Ссылка
Вот так можно ещё:
sp2=[]
a = [[["0,5"], ["0,6"], ["0,7"]]]
for i in a[0]:
for x in i: sp2.append(float(x.replace(',', '.')))
print(sp2)
Что выводится:
[0.5, 0.6, 0.7]