Раздел «Язык Си».PythonList:

Список (list)

Создать список

Пустой список:
a = []

a = ['apple', 'banana', 'wildberry']
b = [12, 34, -5, 16]
c = [12, 'apple', [3.14, 9.81], 'orange' ]

Срезы (Slice)

Методы работы со списками

Python Получилось Комментарий
a=[1, 2, 3], a[0]=7 [7, 2, 3] элемент списка
len([1, 2, 3]) 3 Длина
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] + Склеить
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] * Повторить
[1, 2, 3] is [1, 2, 3] True Равны?
3 in [1, 2, 3] True Проверить, что есть
7 not in [1, 2, 3] True Проверить, что нет
for x in [1, 2, 3]:
   print x
1 2 3 Напечатать все элементы

range(from, to, step)

>>> range(1, 5)
[1, 2, 3, 4]
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 10, 2)
[1, 3, 5, 7, 9]
>>> range(20, 4, -5)
[20, 15, 10, 5]
>>> range(10, 20, -5)
[]

Встроенные функции для работы со списками

Функция Что делает
len(a) Длина списка a
max(a) Максимальный элемент списка а
min(a) Минимальный элемент списка а
sum(a) Сумма чисел (работает только с числами)
cmp(a, b) Сравнить списки а и b
a = str.split(delimiter) Сделать список а, разбив строку str на элементы по разделителям delimeter; по умолчанию делится по пробелам
s = str.join(a) сделать из списка a строку, между элементами вставлять подстроку str
b = map(func, a) применить функцию func к каждому элементу списка а
b - не список, а map; чтобы его печатать, сделайте из него список print(list(b))

Методы списков

Метод Что делает
a.append(x) Добавляет элемент х в список а
a.insert(i, x) вставляет x на место номер i
a.extend(b) a = a + b
a.remove(x) удаляет x из списка а
a.count(x) сколько раз элемент х входит в список а
a.index(x) индекс первого вхождения х в список а или -1
x = a.pop() Удаляет последний элемент из списка а, возвращает этот элемент
a.reverse() Лист в обратном порядке
a.sort() Сортирует список
a.sort(функция) Сортирует список элементов, пользуясь для сравнения двух элементов функцей

Задачи (списки)

1 - Срезы строки

Дан список a = [10, 7, -6, 11, 13, 5, 1, 8, 13]
Что вывести Output
первый элемент 10
элемент с номером 3 11
последний элемент 13
предпоследний элемент 8
первые 6 элементов 10 7 -6 11 13 5
весь список, кроме последних 3 элементов 10 7 -6 11 13 5
все элементы с четными номерами (считая, что индексация начинается с 0); 10 -6 13 1 13
все элементы с нечетными номерами 7 11 5 8
все элементы в обратном порядке 13 8 1 5 13 11 -6 7 10
все элементы в обратном порядке, начиная с предпоследнего 8 1 5 13 11 -6 7 10
все элементы списка через один в обратном порядке, начиная с предпоследнего; 8 5 11 7
длину списка 9

5 - Найдите минимальное и максимальное число

Дана последовательность целых чисел (на одной строке). Напечатайте минимальное и максимальное число.

Input Output
7 19 -3 8 -11 0 56 -11 56

5a - Найдите минимальное и максимальное число

Дана последовательность целых чисел (на многих строках). Напечатайте минимальное и максимальное число.

Input Output
7 19 -3 8 -11
0 56
-11 56

Рекомендуем из полученных списков чисел для строки сделать один общий список всех чисел.

5b - Найдите минимальное и максимальное число

Дана последовательность целых чисел (на многих строках). Напечатайте минимальное и максимальное число.

Input Output
7 19 -3 8 -11
0 56
-11 56

Надо экономить память.

Не делайте общий список всех чисел. Сделайте список минимальных в строках чисел и найдите в нем минимум.

Сделайте список максимальных= в строках чисел и найдите в нем максимум.

6 - Отсортируйте числа

Дана последовательность целых чисел (на одной строке). Напечатайте минимальное и максимальное число.

Input Output
7 19 -3 8 -11 0 56 -11 -3 0 7 8 19 56

7 - Оценки

Студент за семестр получил оценки. Отбросьте 2 самых плохих оценки и посчитайте его средний балл.

-- TatyanaDerbysheva - 27 Oct 2015