Python Урок 4. Списки или массивы в Питоне

На уроке объясняется, как в языке python представлены массивы (списки); объясняется про создание списков на Python.

Определение

Массивы (списки) в Питоне, как и в других языках программирования, — это определенное количество элементов одного типа, которые имеют общее имя, и каждый элемент имеет свой индекс — порядковый номер.

Однако, в языке Python отсутствует такая структура, как «массив». Для работы с массивами используются списки.

Списки являются упорядоченными последовательностями, которые состоят из различных объектов (значений, данных), заключающихся в квадратные скобки [ ] и отделяющиеся друг от друга с помощью запятой.

list('текст') # ['т', 'е', 'к', 'с', 'т']

 

Создание списков на Python

Создать список можно несколькими способами. Рассмотрим их.

1. Получение списка через присваивание конкретных значений

  • Так выглядит в коде Python пустой список:
  • s = []  # Пустой список
  • Примеры создания списков со значениями:
  • l = [25, 755, -40, 57, -41]   # список целых чисел
    l = [1.13, 5.34, 12.63, 4.6, 34.0, 12.8]   # список из дробных чисел
    l = ["Sveta", "Sergei", "Ivan", "Dasha"]   # список из строк
    l = ["Москва", "Иванов", 12, 124]   # смешанный список
    l = [[0, 0, 0], [1, 0, 1], [1, 1, 0]]   # список, состоящий из списков
    l = ['s', 'p', ['isok'], 2] # список из значений и списка
  • Списки можно складывать (конкатенировать) с помощью знака «+»:
  • l = [1, 3] + [4, 23] + [5]
     
    # Результат:
    # l = [1, 3, 4, 23, 5]

2. Списки при помощи функции List()

Получаем список при помощи функции List()

l = list ('spisok')  # 'spisok' - строка
print(l) #['s', 'p', 'i', 's', 'o', 'k'] - результат - список

3. Создание списка при помощи функции Split()

  • Используя функцию split в Питон можно получить из строки список. Рассмотрим пример:
  • stroka ="Hello, world"  # stroka - строка
    lst=stroka.split(",") # lst - список
    lst # ['Hello', ' world']

4. Генераторы списков

  • В python создать список можно также при помощи генераторов, — это довольно-таки новый метод:
  • Первый простой способ.
  • Сложение одинаковых списков заменяется умножением:

    # список из 10 элементов, заполненный единицами
    l = [1]*10
    # список l = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
  • Второй способ сложнее.
  • l = [i for i in range(10)]
    # список l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    или такой пример:

    c = [c * 3 for c in 'list']
    print (c) # ['lll', 'iii', 'sss', 'ttt']

    Пример:
    Заполнить список квадратами чисел от 0 до 9, используя генератор списка.

    ✍ Решение:
     

    l = [i*i for i in range(10)]

    еще пример:

    l = [(i+1)+i for i in range(10)]
    print(l) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
  • Случайные числа в списке:
  • from random import randint 
    l = [randint(10,80) for x in range(10)]
    # 10 чисел, сгенерированных случайным образом в диапазоне (10,80)

    Задание Python 4_1:
    Создайте список целых чисел от -20 до 30 (генерация).

    Задание Python 4_2:
    Создайте список целых чисел от -10 до 10 с шагом 2 (генерация list).

    Задание Python 4_3:
    Создайте список из 20 пятерок (генерация).

    Задание Python 4_4:
    Создайте список из сумм троек чисел от 0 до 10, используя генератор списка (0 + 1 + 2, 1 + 2 + 3, …).

Ввод списка (массива) в языке Питон

  • Для ввода элементов списка используется цикл range:
  • 1
    2
    3
    
    for i in range(N): 
       print ( "L[", i, "]=", sep = "", end = "" ) 
       L[i] = int( input() )
  • Более простой вариант ввода списка и его вывода:
  • L = [ int(input()) for i in range(N) ]

    Функция int здесь используется для того, чтобы строка, введенная пользователем, преобразовывалась в целые числа.

  • Как уже рассмотрено выше, список можно выводить целым и поэлементно:
  • # вывод целого списка (массива)
    print (L)
     
    # поэлементный вывод списка (массива)
    for i in range(N): 
      print ( L[i], end = " " )

Задание Python 4_5:
Заполните массив элементами арифметической прогрессии. Её первый элемент, разность и количество элементов нужно ввести с клавиатуры.
  
* Формула для получения n-го члена прогрессии: an = a1 + (n-1) * d


Задание Python 4_6:
Заполните массив случайными числами в диапазоне 20..100 и подсчитайте отдельно число чётных и нечётных элементов.

Поделитесь уроком с коллегами и друзьями:

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить