Задать вопрос
@AlmazKayum

Как найти индекс в tuple of tuple python?

Приветствую.

Встал вопрос, как найти индекс если знаешь один элемент в кортеже кортежей Python.
Пример:
У нас есть кортеж кортежей, как результат выдачи данных из БД.

((aaa, bbb, ccc,), (ddd, fff, eee), (ggg, hhh, mmm))


Известен третий элемент внутреннего кортежа, например eee, причем мы знаем точно, что он уникальный. Он находится в кортеже под индексом 1.

Как возвратить индекс внешнего кортежа с помощь Python(то есть 1)?
  • Вопрос задан
  • 1631 просмотр
Подписаться 2 Простой Комментировать
Решения вопроса 1
ZinBu
@ZinBu
Продам гараж (в лс)
data = (('aaa', 'bbb', 'ccc',), ('ddd', 'fff', 'eee'), ('ggg', 'hhh', 'mmm'))

def find_index(embedded_elem, data_set):
    for elem in data_set:
        if embedded_elem in elem:
            print(data.index(elem))  # индекс внешнего элемента
            print(elem.index(embedded_elem))  # индекс внутреннего


>>>find_index('hhh', data)
>>>
2
1
>>> find_index('ddd', data)
>>>
1
0
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
def find_index(seq, val):
    return next((i for i, items in enumerate(seq) if val in items), None)

data = (('aaa', 'bbb', 'ccc',), ('ddd', 'fff', 'eee'), ('ggg', 'hhh', 'mmm'))

find_index(data, 'eee')
Ответ написан
@Drill
In [5]: 
data = (('aaa', 'bbb', 'ccc',), ('ddd', 'fff', 'eee'), ('ggg', 'hhh', 'mmm'))

coords = divmod(sum(data,()).index('eee'),len(data[0]))

print('Index "eee":', coords[1])
Index "eee": 2
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
31 янв. 2025, в 00:16
43000 руб./за проект
30 янв. 2025, в 21:33
5000 руб./за проект
30 янв. 2025, в 21:14
4000 руб./за проект