В Python выбор элементов из списка — фундаментальная операция, необходимая во многих программах. В Python существует несколько способов выбора элементов из списка, включая использование индексации, нарезки, понимания списков, встроенных функций и т. д.
- Метод 1: с использованием индексации
- Метод 2: с помощью нарезки
- Метод 3: с помощью фильтра
- Метод 4: используя понимание списка
- Метод 5: с помощью функции карты
- Метод 6: с помощью функции random.choice()
Метод 1: с использованием индексации
Этот метод предполагает доступ к определенному элементу списка по его индексу, который является позицией элемента в списке. Индекс начинается с 0 для первого элемента и увеличивается на 1 для каждого последующего элемента.
# Create a list of countries country_list = ['USA', 'United Kingdom', 'Canada'] # Assign the first element of the list to a variable first_item = country_list[0] # Print the value of the variable to the console print(first_item)
Приведенный выше код создает список стран с именем «country_list» из трех элементов. Затем он присваивает первый элемент списка новой переменной с именем «first_item». Наконец, он выводит на консоль значение «first_item».
Output: USA
Метод 2: с помощью нарезки
Этот метод предполагает выбор подпоследовательности списка путем указания диапазона индексов.
Подпоследовательность начинается с индекса, указанного первым аргументом оператора среза (перед двоеточием), и заканчивается индексом, указанным вторым аргументом (после двоеточия).
# Create a list of countries country_list = ['USA', 'United Kingdom', 'Canada', 'Brazil'] # Create a new list that contains elements from index 1 up to(but not including) index 3 of the original list sub_list = country_list[1:3] # Print the new list to the console print(sub_list)
Приведенный выше код создает список стран с именем «country_list» из четырех элементов.
- Затем он создает новый список под названием «sub_list», который содержит элементы от индекса 1 до(но не включая) индекса 3 исходного списка. Наконец, он выводит новый список на консоль.
Output: ['United Kingdom', 'Canada']
Метод 3: с помощью фильтра
Этот метод предполагает использование встроенной функции filter() для создания нового итератора, содержащего только элементы, соответствующие заданному условию. Функция filter() принимает два аргумента: функцию, которая проверяет каждый элемент итератора, и итератор, который нужно фильтровать.
# Create a list of numbers num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Create a new list that contains only the even numbers from the original list using a lambda function and the filter() method even_list = list(filter(lambda x: x % 2 == 0, num_list)) # Print the new list to the console print(even_list)
Приведенный выше код создает список чисел с именем «num_list» из десяти элементов.
- Затем он создает новый список под названием «even_list», который содержит только четные числа из исходного списка, что достигается с помощью лямбда-функции и метода filter(). Наконец, он выводит на консоль новый список четных чисел.
Output: [2, 4, 6, 8, 10]
Метод 4: используя понимание списка
Этот метод предполагает использование краткого синтаксиса для создания нового списка на основе существующего списка. Синтаксис включает цикл for, который перебирает элементы исходного списка, с необязательным условием, которое фильтрует элементы на основе определенных критериев.
# Create a list of numbers num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Create a new list that contains only the even numbers from the original list using a list comprehension even_list = [x for x in num_list if x % 2 == 0] # Print the new list to the console print(even_list)
Приведенный выше код создает список чисел с именем «num_list» из десяти элементов.
- Затем он создает новый список под названием «even_list», который содержит только четные числа из исходного списка, что достигается с помощью понимания списка. Наконец, он выводит на консоль новый список четных чисел.
Output: [2, 4, 6, 8, 10]
Метод 5: с помощью функции карты
Этот метод предполагает использование встроенной функции map() для создания нового итератора, который применяет заданную функцию к каждому элементу списка.
Функция map() принимает два аргумента: функцию, которая выполняет преобразование каждого элемента итератора, и итератор, который необходимо преобразовать.
# Create a list of numbers num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Create a new list that contains the square of each number in the original list using a lambda function and the map() method squared_list = list(map(lambda x: x ** 2, num_list)) # Print the new list to the console print(squared_list)
Приведенный выше код создает список чисел с именем «num_list» из десяти элементов.
- Затем он создает новый список под названием «squared_list», который содержит квадрат каждого числа в исходном списке, что достигается с помощью лямбда-функции и метода map(). Наконец, он выводит на консоль новый список квадратов чисел.
Output: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Метод 6: с помощью функции random.choice()
Этот метод предполагает использование функции random.choice() из модуля случайных чисел для выбора случайного элемента из списка. Этот метод возвращает случайно выбранный элемент из списка.
# import the random module import random # create a list of countries country_list = ['USA', 'United Kingdom', 'Canada', 'Brazil'] # select a random country random_country = random.choice(country_list) print('A randomly selected country is:', random_country)
Приведенный выше код демонстрирует, как использовать модуль Random в Python для выбора случайного элемента из списка стран.
- Третья строка использует функцию random.choice() для выбора случайной страны из списка Country_list и присваивает ее переменной random_country.
Output: A randomly selected country is: Canada