«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно проверить существование элемента в списке: ярлыки и лучшие практики

Как эффективно проверить существование элемента в списке: ярлыки и лучшие практики

Опубликовано 12 ноября 2024 г.
Просматривать:435

How to Efficiently Check for Element Existence in a List: Shortcuts and Best Practices

Проверка существования элемента в списке с помощью ярлыков

Обычной задачей является проверка наличия одного или нескольких элементов в списке. Вместо разработки сложной функции вы можете использовать следующие краткие подходы.

Оператор or в Python последовательно оценивает свои аргументы, возвращая первое истинное или непустое значение. Хотя это может показаться решением, в случае списков оно не соответствует действительности. Как показано выше, (1 или 2) в a оценивается как False, а (2 или 1) в a оценивается как True. Это происходит потому, что 1 оценивается как False в логическом контексте, в результате чего выражение эквивалентно False в a.

Более эффективный и читаемый метод — использовать понимание списка или пересечение множеств. Используя понимание списка, вы можете фильтровать элементы первого списка на основе их присутствия во втором списке. Например:

L1 = [2, 3, 4]
L2 = [1, 2]
[i for i in L1 if i in L2]  # Returns [2]

В качестве альтернативы вы можете преобразовать списки в наборы, выполнить пересечение наборов и использовать логическое значение результирующего набора. Этот подход выгоден при эффективной обработке повторяющихся элементов:

S1 = set(L1)
S2 = set(L2)
S1.intersection(S2)  # Returns set([2])

И пустые списки, и пустые множества оцениваются как False, что позволяет оценить их наличие напрямую с использованием логической логики.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3