Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2011-kl-lab2.doc
Скачиваний:
5
Добавлен:
12.11.2019
Размер:
821.76 Кб
Скачать

3.2. Функція range

Для завдання послідовності чисел у формі арифметичної прогресії (1 2 3 4 5 6...) зручно користуватися вбудованою функцією range(). Вона має три форми, розглянемо на прикладах всі:

>>> range(10)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Ця форма повертає всі цілі числа в діапазоні від 0 до числа 10, не включаючи само число 10.

>>> range(5, 10)

[5, 6, 7, 8, 9]

Ця форма повертає всі цілі числа в діапазоні від 5 до числа 10, не включаючи само число 10, але включаючи початкове число 5.

>>> range(0, 10, 3)

[0, 3, 6, 9]

>>> range(-10, -100, -30)

[-10, -40, -70]

Ця форма повертає всі цілі значення в діапазоні від початкового до кінцевого з кроком, заданим третім параметром. Причому, якщо, наприклад, ви спробуєте ввести range(1, 100 -1), то очевидно, що чисел в цьому діапазоні немає, тобто результатом буде порожня множина([]).

Якщо ви хочете задати діапазон через кількість елементів в списку, то слід скористатися функцією range у поєднанні з функцією len:

>>> а = [`Linux', 'is', 'the', 'best', 'system']

>>> for i in range(len(a)):

... print i, а[i] #Звертання до елементу списку по його індексу

...

0 Linux

1 is

2 the

3 best

4 system

Крім того, Python надає можливість швидкого створення списків цілих значень, без необхідності їх перераховувати:

>>> range(1,5)

[1, 2, 3, 4]

У даному прикладі функція range() приймає два цілих аргументи і повертає список, який містить всі цілі числа в проміжку між заданими значеннями, включаючи перше і виключаючи друге.

Існує ще два способи виклику функції range(). Якщо їй передано тільки одне значення, то в результаті вона поверне список з цілими значеннями від 0 до N, де N – значення параметра:

>>> range(10)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Якщо ж range() викликана з трьома аргументами, то останній з них інтерпретується як розмір кроку. Тобто в результуючому списку значення йтимуть не підряд, а через проміжки, що дорівнюють заданому кроку:

>>> range(1, 10, 2)

[1, 3, 5, 7, 9]

3.3. Списки і індекси

Синтаксис звернення до елементів списку такий самий, як і при зверненні до символів стрічок – використовуємо оператор індексування ([]).

>>> numbers[0]

17

>>> numbers[-1]

537

Стосовно списків оператор індексування працює точно так, як і у випадку стрічок. Індексом може бути будь-який вираз, що повертає ціле число, в тому числі від’ємне. Якщо індекс менше нуля, то відлік індексу буде розпочато з кінця списку.

Оператор побудови зрізу списку працює подібно, як і зі стрічками:

>>> list = ['a', 'b', 'c', 'd', 'e', 'f']

>>> list[1:3]

['b', 'c']

>>> list[:4]

['a', 'b', 'c', 'd']

>>> list[3:]

['d', 'e', 'f']

>>> list[:]

['a', 'b', 'c', 'd', 'e', 'f']

Єдина відмінність полягає в тому, що елементи списків (на відміну від символів стрічок) можна змінювати:

>>> numbers[1]= 5

>>> numbers

[17, 5, 537]

>>> numbers[1:]= [6, 7]

>>> numbers

[17, 6, 7]

>>> numbers[0], numbers[2]= 1, 2

>>> numbers

[1, 6, 2]

3.4. Довжина списку

Неважко здогадатися, що для обчислення довжини списку можна використати функцію len(). Зверніть увагу, що якщо список містить як елемент інший список, то цей вкладений список вважатиметься як один елемент. Це видно з наступного прикладу:

>>> mylist = [[1, 'one'], [2, 'two'], [3, 'three'], 'four', 5]

>>> len(mylist)

5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]