Новини от 51 СУ

DJI_0250.JPG

Търсене

Списъци в Python

Print Friendly, PDF & Email

 

  1. Какво е списък (List)?

Представи си списъка като голяма кутия с отделения. Във всяко отделение можеш да сложиш различно нещо – име, число или дори друг списък. В Python списъците се ограждат с квадратни скоби [], а елементите се разделят със запетая.

Пример:

Python

 

plodove = ["ябълка", "банан", "череша"]

chisla = [1, 2, 3, 4, 5]

mesheno = ["Иван", 14, True]

  1. Индексиране (Как да намерим елемент?)

Всеки елемент в списъка си има точно място, наречено индекс.

Важно: В програмирането броенето винаги започва от 0, а не от 1!

  • plodove[0] е "ябълка"
  • plodove[1] е "банан"
  • plodove[2] е "череша"
  1. Основни операции със списъци

Ето най-често използваните команди, които ще ти трябват за упражненията:

Команда

Какво прави?

Пример

len(spisak)

Намира дължината (броя елементи).

len(plodove) -> 3

.append(елемент)

Добавя нов елемент накрая.

plodove.append("киви")

.insert(индекс, елемент)

Вмъква елемент на конкретно място.

plodove.insert(1, "портокал")

.remove(елемент)

Изтрива елемент по неговото име.

plodove.remove("банан")

del spisak[индекс]

Изтрива елемент по неговия индекс.

del plodove[0]

 

  1. Практическа задача

Опитай се да напишеш следната програма (или я проиграй наум):

  1. Създай списък klasс три имена на твои съученици.
  2. Добави още едно име накрая с append.
  3. Промени второто име в списъка (индекс 1) на "Петър".
  4. Принтирай колко е дълъг списъкът накрая.

Решение:

Python

 

klas = ["Ани", "Боян", "Виктор"]

klas.append("Георги")

klas[1] = "Петър"

 

print("Списъкът е:", klas)

print("Брой ученици:", len(klas))

Какво е range()?

В Python range() (от англ. обхват) е вградена функция, която генерира поредица от числа. Тя е изключително полезна, когато искаш да направиш списък с числа или да повториш нещо определен брой пъти.

  1. Как се използва?

Функцията може да приема до три параметъра: range(старт, край, стъпка).

  • range(n): Генерира числа от 0 до n-1. (Числото n не се включва!).
    • range(5) -> 0, 1, 2, 3, 4
  • range(start, end): Започва от start и спира преди end.
    • range(2, 6) -> 2, 3, 4, 5
  • range(start, end, step): Добавя числото step при всяко следващо число.
    • range(1, 10, 2) -> 1, 3, 5, 7, 9 (само нечетните)
  1. Как да превърнем rangeв истински списък?

Ако просто напишеш print(range(5)), Python ще ти отговори малко странно: range(0, 5). За да го превърнеш в истински списък, който можеш да видиш и променяш, използваме функцията list().

Примери:

Python

 

# Списък с числата от 0 до 9

chisla = list(range(10))

print(chisla) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

# Списък с десетиците от 10 до 50

desetitsi = list(range(10, 51, 10))

print(desetitsi) # [10, 20, 30, 40, 50]

  1. Защо ни е нужно това? (Приложение)

Най-често range се използва в цикли, но в 7. клас е важно да знаеш как бързо да генерираш данни.

Задача за теб: Представи си, че трябва да направиш списък с всички четни числа от 2 до 20 включително. Вместо да пишеш [2, 4, 6...], можеш да го направиш на един ред!

Опитай този код:

Python

 

chetni = list(range(2, 21, 2))

print("Четните числа са:", chetni)

🛠️ Малко предизвикателство с range:

Можеш ли да създадеш списък, който брои назадПодсказка: Стъпката трябва да бъде отрицателно число (например -1).