распаковка кортежа
Получаю вот такой вот кортеж из бд:
[(1, 'Петрова Анастасия Ивановна', '+78005553535', '123456237562\n')]
Вопрос, как я могу определить номер элемента в кортеже под которым прячется номер? Пробовал через цикл for, но ничего не вышло
for i in numbers:
if "+" in numbers[0][i]:
tmp = numbers[0][i]
После определения номер нужно будет его изменить, вообще возможно ли это? Также пробовал преобразовывать кортеж в список и словарь, но тоже ничего. Пробовал реализовать поиск по длине, но опять же не получилось, что то не так я делаю с циклом, подскажите пожалуйста.
Ответы (1 шт):
Можно так всё перебрать - сначала кортежи в списке, а потом элементы кортежа:
numbers = [(1, 'Петрова Анастасия Ивановна', '+78005553535', '123456237562\n')]
for record in numbers:
for item in record:
if '+' in str(item):
print(item)
Вывод:
+78005553535
Если нужны "координаты" элемента - можете использовать enumerate:
for n_rec, record in enumerate(numbers):
for n_item, item in enumerate(record):
if '+' in str(item):
print(n_rec, n_item, item)
Вывод:
0 2 +78005553535
Т.е. это кортеж с индексом 0 в списке и в самом кортеже это элемент с индексом 2.