Понимание списков — это элегантный способ определить и создать список в python. Мы можем создавать списки так же, как математические операторы, и только в одну строку. Синтаксис понимания списка легче понять.

Понимание списков более эффективно как вычислительно, так и с точки зрения пространства кодирования и времени, чем цикл for.

Давайте начнем с примера, в котором мы будем решать, используя понимание списка →

Постановка задачи

Всего в школе 20 учеников с номерами от 1 до 20. Вам дается три списка с именами «C», «F» и «H», представляющие учеников, которые играют в крикет, футбол и хоккей соответственно. На основе этой информации найдите и распечатайте следующее:
1. Учащиеся, которые занимаются всеми тремя видами спорта
2. Учащиеся, которые играют и в крикет, и в футбол, но не играют в хоккей
3. Учащиеся, занимающиеся ровно двумя видами спорта
4. Учащиеся, не занимающиеся ни одним из трех видов спорта

Формат

Ввод:

3 списка, содержащие числа (от 1 до 20), представляющие учащихся, играющих в крикет, футбол и хоккей соответственно.
[2, 5, 9, 12, 13, 15, 16, 17, 18, 19]
[2, 4, 5, 6, 7, 9, 13, 16]
[1, 2, 5, 9, 10, 11, 12, 13, 15]

Вывод:

4 разных списка, содержащих студентов в соответствии с ограничениями, указанными в вопросах.
[2, 5, 9, 13]
[16]
[12, 15, 16]
[3, 8, 14, 20]

Примечание. Убедитесь, что вы отсортировали окончательные списки (в порядке возрастания).

Объяснение:

Учитывая три набора, вы можете видеть, что ученики с номерами «2», «5», «9» и «13» занимаются всеми тремя видами спорта.
Ученик под номером «16» играет в крикет и футбол, но не играет в хоккей.
Ученик под номерами «12» и «15» играет в крикет и хоккей, а ученик под номером «16» играет в крикет и футбол. Нет студентов, которые играют только в футбол и хоккей. Следовательно, ученики, которые занимаются ровно двумя видами спорта, имеют возраст 12, 15 и 16 лет.
Как видите, ученики, которые не занимаются ни одним из видов спорта, имеют возраст 3, 8, 14 и 20 лет.

Решение

вы можете сослаться на это для получения более подробной информации.

Я надеюсь, что это даст вам больше понимания понимания списка. Приятного чтения :)