Форум сайта python.su
0
Добрый день, уважаемые программисты.
Моя ситуация такова:
1) Я получаю через MySQLdb кортеж с номерами телефонов. При этом каждый номер тоже является кортежем.
Пример вывода:
(('78062431252',),('89210653110',),('79110334310',))
2) Мне нужно отобрать те номера, которые начинаются на 7 и заменить её за 8.
По сути это можно сделать перебором элементов и при помощи регулярных выражений.
НО кортеж же последовательность неизменяемая.
Значит такой вариант не катит.
Но кортеж же можно переделать в строку или список.
Со списком получается удобнее, потому что каждый номер будет отдельно рассматриваемым элементом.
Поэкспериментировала в Django shell:
>>> t = (('8062866252',),('99210335510',)) >>> l = list(t) >>> print(l) [('8062866252',), ('99210335510',)] >>> print(l[1]) ('99210335510',) >>> t = (('8062866252',),('99210335510',)) >>> s = str(t) >>> print(s) (('8062866252',), ('99210335510',)) >>> print(s[1]) (
Офлайн
568
Мадам, на предудущем допросе вы заявляли, что по питону вы прочитали больше книг, чем я вообще знаю.
Что, ни в одной из них вам не рассказали, как из одной последовательности получить другую? Ничего не говорили про map, списковые выражения?
Отредактировано FishHook (Июнь 18, 2015 17:43:35)
Офлайн
0
Привет. Давно не виделись.
Я помню, что я говорила. И мне прям льстит ,что ваш мозг жадно запоминает все мои слова. Только утрировать вовсе не обязательно.
Спасибо, что напомнили про map.
Работала с ним совсем чуть-чуть.
Получается примерно вот такой синтаксис?
Есть список result с номерами, и как я выше продемонстрировала, в каждом номере ещё хранятся скобки и запятые.
('89——– ,')
при помощи list(map(lambda x: <регулярное выражение с заменой 7 на 8 и удалением ненужных скобок и запятых> , <результат> )) можно всё осуществить?
Пометка: использование регулярного выражения обязательно. такое требование.
Офлайн
568
Напиши функцию, которая на вход получает строку типа “8062866252” и возвращает правильную по ТЗ строку.
Офлайн
857
YanaЭто возможно, но это плохая практика, так как впадаешь в зависимость от представления списка, которое не можешь контролировать.
Вопрос: можно ли вообще использовать регулярные выражения со списками
Офлайн