Массивы в языке Python

Содержание

Слайд 2

ЧТО ТАКОЕ МАССИВ?

Массив – это группа переменных одного типа, расположенных в памяти

ЧТО ТАКОЕ МАССИВ? Массив – это группа переменных одного типа, расположенных в
рядом (в соседних ячейках) и имеющих общее имя.

Надо:

выделять память
записывать данные в нужную ячейку
читать данные из ячейки

Слайд 3

ОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВА

A

массив

2

15

НОМЕР элемента массива
(ИНДЕКС)

A[0]

A[1]

A[2]

A[3]

A[4]

ЗНАЧЕНИЕ элемента массива

Индекс элемента — это значение,

ОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВА A массив 2 15 НОМЕР элемента массива (ИНДЕКС)
которое указывает на конкретный элемент массива.

Слайд 4

ОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВА

i = 1
A[2] = A[i] + 2*A[i-1] + A[2*i+1]
print(

ОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВА i = 1 A[2] = A[i] + 2*A[i-1]
A[2]+A[4] )

A[2] = A[1] + 2*A[0] + A[3]
print( A[2]+A[4] )

101

152

A[2]

ИНДЕКС элемента массива: 2

ЗНАЧЕНИЕ элемента массива

Слайд 5

СОЗДАНИЕ МАССИВА

A = [11, 22, 35, 41, 53]

A = [11, 22] +

СОЗДАНИЕ МАССИВА A = [11, 22, 35, 41, 53] A = [11,
[35, 41] + [53]

A = [11]*5

Слайд 6

ЧТО НЕВЕРНО?

A = [1, 2, 3, 4, 5]
x = 1
print( A[x-8] )
A[x+4]

ЧТО НЕВЕРНО? A = [1, 2, 3, 4, 5] x = 1
= A[x-1] + A[2*x]

print( A[-7] )
A[5] = A[0] + A[2]

Выход за границы массива — это обращение к элементу с индексом, который не существует в массиве.

Слайд 7

ПЕРЕБОР ЭЛЕМЕНТОВ МАССИВА

Перебор элементов: просматриваем все элементы массива и, если нужно, выполняем

ПЕРЕБОР ЭЛЕМЕНТОВ МАССИВА Перебор элементов: просматриваем все элементы массива и, если нужно,
с каждым из них некоторую операцию.

N = 10
A = [0]*N # память уже выделена

for i in range(N):
# здесь работаем с A[i]

Слайд 8

ЗАПОЛНЕНИЕ МАССИВА

for i in range(N):
A[i] = i

В развёрнутом виде

A[0] = 0
A[1]

ЗАПОЛНЕНИЕ МАССИВА for i in range(N): A[i] = i В развёрнутом виде
= 1
A[2] = 2
...
A[N-1] = N-1

0

1

2

N-1

[0, 2, 3, …, N-1]

В стиле Python:

A = [ i for i in range(N) ]

i

i

Слайд 9

X = N

ЗАПОЛНЕНИЕ МАССИВА В ОБРАТНОМ ПОРЯДКЕ

A[0] = N
A[1] = N-1
A[2] =

X = N ЗАПОЛНЕНИЕ МАССИВА В ОБРАТНОМ ПОРЯДКЕ A[0] = N A[1]
N-2
...
A[N-1] = 1

for i in range(N):
A[i] = X

X = X - 1

X = N, N-1, …, 2, 1

начальное значение

уменьшение на 1

Слайд 10

ЗАПОЛНЕНИЕ МАССИВА В ОБРАТНОМ ПОРЯДКЕ

A[i] = X

–1

+1

i + X =

ЗАПОЛНЕНИЕ МАССИВА В ОБРАТНОМ ПОРЯДКЕ A[i] = X –1 +1 i +
N

X = N - i

for i in range(N):
A[i] = N – i

В стиле Python:

A = [ N-i
for i in range(N) ]

Слайд 11

ВЫВОД МАССИВА НА ЭКРАН

for i in range(N):
print( A[i] )

или так:

в столбик

Весь

ВЫВОД МАССИВА НА ЭКРАН for i in range(N): print( A[i] ) или
массив сразу:

print( A )

[1,2,3,4,5]

По одному элементу:

for x in A:
print( x )

для всех элементов в массиве A

for x in A:
print( x, end=" " )

пробел между элементами

Слайд 12

ВЫВОД МАССИВА НА ЭКРАН (PYTHON)

print ( *A )

разбить список на элементы

print (1,

ВЫВОД МАССИВА НА ЭКРАН (PYTHON) print ( *A ) разбить список на
2, 3, 4, 5)

[1,2,3,4,5]

1 2 3 4 5

Слайд 13

ВВОД С КЛАВИАТУРЫ

for i in range(N):
s = "A[" + str(i) +

ВВОД С КЛАВИАТУРЫ for i in range(N): s = "A[" + str(i)
"]="
A[i] = int(input(s))

A[0] =
A[1] =
A[2] =
A[3] =
A[4] =

5
12
34
56
13

for i in range(N):
A[i] = int(input())

С подсказкой для ввода:

или так:

A = [int(input()) 
for i in range(N)]

Слайд 14

ВВОД С КЛАВИАТУРЫ (PYTHON)

Ввод всех чисел в одной строке:

data = input() #

ВВОД С КЛАВИАТУРЫ (PYTHON) Ввод всех чисел в одной строке: data =
"1 2 3 4 5"
s = data.split() #["1","2","3","4","5"]
A = [ int(x) for x in s ]
# [1,2,3,4,5]

int(x)

или так:

A = [int(x) for x in input().split()]

Слайд 15

В ДРУГИХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ

const N = 10;
var A: array[0..N-1] of integer;
...
for i:=0

В ДРУГИХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ const N = 10; var A: array[0..N-1] of
to N-1 do
A[i] = i;
for i:=0 to N-1 do
write(A[i], ' ');

Паскаль:

объявление массива

Слайд 16

В ДРУГИХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ

С++:

int A[N], i;
for (i = 0; i < N;

В ДРУГИХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ С++: int A[N], i; for (i = 0;
i++)
A[i] = i;
for (i = 0; i < N; i++)
cout << A[i] << " ";

Слайд 17

ЗАПОЛНЕНИЕ СЛУЧАЙНЫМИ ЧИСЛАМИ

from random import randint
N = 10 # размер массива
A =

ЗАПОЛНЕНИЕ СЛУЧАЙНЫМИ ЧИСЛАМИ from random import randint N = 10 # размер
[0]*N # выделить память
for i in range(N):
A[i] = randint(20,100)

В краткой форме:

from random import randint
N = 10
A = [ randint(20,100)
for i in range(N) ]

из библиотеки (модуля) random

взять функцию randint

Слайд 18

ОБРАБОТКА ЭЛЕМЕНТОВ МАССИВА

N = 10
A = [0]*N # память уже выделена

for i

ОБРАБОТКА ЭЛЕМЕНТОВ МАССИВА N = 10 A = [0]*N # память уже
in range(N):
# здесь работаем с A[i]

Вывести на экран в столбик:

for i in range(N):
???

print( A[i] )

Вывести на экран в строчку:

for i in range(N):
???

print( A[i], end = " " )

print( *A )

Слайд 19

for i in range(N):
???

for i in range(N):
???

ОБРАБОТКА ЭЛЕМЕНТОВ

for i in range(N): ??? for i in range(N): ??? ОБРАБОТКА ЭЛЕМЕНТОВ
МАССИВА

Вывести числа, на 1 большие, чем A[i]:

print( A[i]%10 )

Вывести последние цифры:

print( A[i]+1 )

Слайд 20

ОБРАБОТКА ЭЛЕМЕНТОВ МАССИВА

Увеличить на 1:

for i in range(N):
???

A[i] += 1

ОБРАБОТКА ЭЛЕМЕНТОВ МАССИВА Увеличить на 1: for i in range(N): ??? A[i]

Умножить на 2:

for i in range(N):
???

A[i] *= 2

Заполнить нулями:

for i in range(N):
???

A[i] = 0

Слайд 21

ОБРАБОТКА ЭЛЕМЕНТОВ МАССИВА

Для списков целиком определены операции сложения списков и умножение

ОБРАБОТКА ЭЛЕМЕНТОВ МАССИВА Для списков целиком определены операции сложения списков и умножение списка на число.
списка на число.

Слайд 22

ФУНКЦИИ LEN

Длину списка, то есть количество элементов в нём, можно узнать

ФУНКЦИИ LEN Длину списка, то есть количество элементов в нём, можно узнать
при помощи функции len.

Можно создать пустой список (не содержащий элементов длины 0).
a=[ ] – пустой список

Слайд 23

МЕТОДА APPEND

В конец списка можно добавлять элементы при помощи метода append.

МЕТОДА APPEND В конец списка можно добавлять элементы при помощи метода append.

Слайд 24

SPLIT

Элементы списка могут вводиться по одному в строке, в этом случае строку

SPLIT Элементы списка могут вводиться по одному в строке, в этом случае
целиком можно считать функцией input(). После этого можно использовать метод строки split(), возвращающий список строк, которые получаются, если исходную строку разрезать на части по пробелам.

Слайд 25

SPLIT

У этого метода есть необязательный параметр, который определяет, какая строка будет использоваться

SPLIT У этого метода есть необязательный параметр, который определяет, какая строка будет
в качестве разделителя между элементами списка.

Слайд 26

JOIN

Join – метод, позволяющий вывести список. У этого метода один параметр:

JOIN Join – метод, позволяющий вывести список. У этого метода один параметр:
список. Возвращается строка. Полученная соединением элементов переданного списка в одну строку.

Слайд 27

РЕШЕНИЕ ЗАДАЧ

1.

2.

РЕШЕНИЕ ЗАДАЧ 1. 2.

Слайд 28

ЗАДАЧИ

1.

ЗАДАЧИ 1.

Слайд 29

ЗАДАЧИ

2.

ЗАДАЧИ 2.

Слайд 30

САМОСТОЯТЕЛЬНАЯ РАБОТА

САМОСТОЯТЕЛЬНАЯ РАБОТА