aRegius, Спасибо большое. Ровно то что нужно.
Заодно освоил что такое map и zip. Полезные вещи.
Насколько я понял, нужно накопить некий свой список стандартных преобразований. И тогда потом просто можно пользоваться ими как заготовками и уже вопросы на Toster не нужно будет задавать. Все будет в своей базе данных. =)
Андрей Дугин, Да, мне тоже хотелось быть узнать как конвертировать список, где все данные в str в список где будут str и int отдельно- это бы облегчило обработку данных в таблицах, где не все данные нормированы к примеру и могут встречаться буквы, что приведет к ошибкам при обработке, которые сразу не увидишь.
>>> # переводим строки в числа
>>> x_to_int = [list(map(int, i)) for i in x_sort]
>>> x_to_int
[[3, 1, 1], [5, 2, 2], [7, 3, 3]]
Прошу прощения, но хотелось бы все узнать как перевести список x = [['i0', 'j0,], ['i1','j1']]
Где любой из элементов i, j может являться как цифрой так и буквой,
в список x [[i0, j0], [i1, j1]], где буквы останутся типом str, а Цифры станут int.
Такое вообще возможно?
Я думаю такого типа файлы с данными довольно часто могут встречаться при анализе данных и было бы полезно узнать такой прием на будущее. Просто у вас сделано, насколько я смог понять,только для случая, когда первый элемент является буквой.
В любом случае спасибо.
Ростислав Григорьев, Понял, а еще дополнительный вопрос. А как искать в тексте сочетание сразу из 3 букв 'WUB' и удалять его?
import re
s = 'WUBAWUBB'
reg = re.compile('[WUB ]')
Так верно?
Sly_tom_cat ., Не совсем понял r'(\D+|\d+), \D+ -это все буквы(русские и латинские), а d+ все цифры?
В общем с \D+ немного запутался, а как тогда будет искать только буквы D?
Sly_tom_cat ., А вы можете подсказать верно ли я понял выражение?
result_list = re.findall(r'([a-z]+|\d+)', s, flags=re.I)
re.findall - Поиск выражений
r' - Отключаем экранирование текста
[a-z]+ Ищем маленькие буквы a-z
\d+ Ищем цифры 0-9
s, -Имя строки где искать
"TypeError: findall() missing 1 required positional argument: 'string'"
flags=re.I -Поиск совпадения без учета регистра. Как я понял это чтобы не писать [a-zA-z], выглядит более красиво.
Андрей Леонов, Удобный сервис, показывает все опции регулярного выражения , буду пользоваться.
Про r' нагуглил, что "Сырые" строки - подавляют экранирование
Если перед открывающей кавычкой стоит символ 'r' (в любом регистре), то механизм экранирования отключается.
Насколько я понял r' нужно ставить, чтобы спец символы в строке , например \t или \b тоже считывались как текст, а не как табуляция или забой. Верно?
А идеальный вариант не получается.
Пишет convert не определено.
Я так понял либо.
либо