Подсписок — это меньший список, который существует в более крупном списке, или подсписок является частью более крупного списка.
Например, если у вас есть такой список [2, 4, 5, 6, 12, 13], подсписок может быть [4,5]. Здесь проверка того, содержит ли список подсписок, означает проверку, существует ли последовательность элементов в подсписке в большем списке в том же порядке.
Список содержит еще один список
Итак, создайте список, содержащий несколько списков, как показано ниже.
Вывод показывает, что 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)
В результате подсписок 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, что означает, что подсписок не существует в большем списке.