Чтобы найти в списке списков Python определенное значение и вернуть его индекс, вы можете использовать различные методы. Позвольте мне объяснить несколько разных подходов:
- Вложенные циклы. Вы можете перебирать каждый подсписок, используя вложенные циклы, и сравнивать целевое значение с каждым элементом. Когда совпадение найдено, верните соответствующие индексы. Вот пример:
def search_list_of_lists(lst, target):
    for i, sublist in enumerate(lst):
        for j, value in enumerate(sublist):
            if value == target:
                return i, j
    return -1, -1  # Return -1 if the value is not found
# Example usage
my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
target_value = 5
result = search_list_of_lists(my_list, target_value)
print(result)  # Output: (1, 1)- Понимание списка: вы можете использовать понимание списка для достижения аналогичного результата. Этот подход возвращает список индексов, соответствующих целевому значению.
def search_list_of_lists(lst, target):
    return [(i, j) for i, sublist in enumerate(lst) for j, value in enumerate(sublist) if value == target]
# Example usage
my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
target_value = 5
result = search_list_of_lists(my_list, target_value)
print(result)  # Output: [(1, 1)]- Библиотека NumPy: если у вас установлен NumPy, вы можете использовать его мощные функции манипулирования массивами для эффективного выполнения операции поиска. Вот пример:
import numpy as np
def search_list_of_lists(lst, target):
    arr = np.array(lst)
    indices = np.argwhere(arr == target)
    return [(index[0], index[1]) for index in indices]
# Example usage
my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
target_value = 5
result = search_list_of_lists(my_list, target_value)
print(result)  # Output: [(1, 1)]