Подсписок — это меньший список, который существует в более крупном списке, или подсписок является частью более крупного списка.

Например, если у вас есть такой список [2, 4, 5, 6, 12, 13], подсписок может быть [4,5]. Здесь проверка того, содержит ли список подсписок, означает проверку, существует ли последовательность элементов в подсписке в большем списке в том же порядке.

Список содержит еще один список

Итак, создайте список, содержащий несколько списков, как показано ниже.

Список Python содержит еще один список

Вывод показывает, что sub_list [2, 3, 4] существует в big_list, что выводит сообщение «Подсписок присутствует».

Давайте разберемся с частью кода, big_list = [[1,5,7,], [2, 3, 4], [3, 6, 9], [4, 8, 12]], эта строка создает big_list, содержащий несколько списков, также называемый вложенным списком.

Тогда sub_list = [2,3,4] — это список, в котором вы хотите найти big_list.

После этого, «если sub_list в big_list», эта строка проверяет, существует ли sub_list в big_list. Если да, то выводится «Подсписок присутствует», в противном случае он печатает «Подсписок отсутствует».

Используя цикл For

Чтобы проверить, находится ли список в другом списке, вы можете отсканировать больший список, чтобы проверить, присутствует ли последовательность элементов в подсписке.

Например, давайте создадим функцию под названием «check_if_contains_sublist», как показано ниже.

def check_if_contains_sublist(sublist, larger_list):
    sublist_length = len(sublist)
    larger_list_length = len(larger_list)
    for i in range(larger_list_length - sublist_length + 1):
        if larger_list[i:i + sublist_length] == sublist:
            return True
    return False

Затем создайте список с именем Inventory и Restocking_list, как показано ниже.

inventory = ["books", "pens", "notebooks", "pencils", "erasers"]
restocking_list = ["notebooks", "pencils"]

Теперь передайте инвентарь (более крупный список) и restocking_list (подсписок) в функцию check_if_contains_sublist, как показано ниже.

result = check_if_contains_sublist(restocking_list, inventory)
print(result)

используя цикл for

В результате подсписок restocking_list представляет собой более крупный список ресурсов, как вы можете видеть в выводе, он возвращает True.

Функция check_if_contains_sublist (sublist, Large_list) принимает два параметра: sublist, который представляет собой подсписок, который вы хотите найти в более крупном списке, и Large_list, который сканируется на наличие подсписка.

Затем внутри функции функция len() используется для sublist и Large_list для вычисления их длины, а длина обоих списков сохраняется в sublist_length и Large_list_length соответственно.

Следуя строке кода «for I in range (larger_list_length – sublist_length + 1)», выполняется итерация по «larger_list», начиная с другого индекса до «larger_list_length-sublist_length+1».

Затем следующая строка кода, «если large_list [i:i + длина_подсписка] == подсписок», сравнивает раздел large_list длиной, равной «подсписку», начиная с текущего индекса «i», с подсписком внутри каждого итерация с использованием концепции нарезки.

Если подсписок существует в большем списке, функция возвращает True, в противном случае цикл завершается, не находя совпадения, и возвращает False, что означает, что подсписок не существует в большем списке.

Добавить комментарий