Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вбудовані Функції | Функції
Вступ до Python
course content

Зміст курсу

Вступ до Python

Вступ до Python

1. Перше Знайомство
2. Змінні та Типи
4. Інші Типи Даних
5. Цикли
6. Функції

bookВбудовані Функції

Що, якби вас попросили знайти найбільше число у списку? З отриманими знаннями ви могли б написати цикл для перевірки, чи є поточний елемент більшим/меншим за попередній найбільший, і оновити його; якщо ні, ви б продовжили пошук. Але для довгих списків цей метод може бути досить тривалим. На щастя, існують вбудовані функції, які можуть зробити цю задачу більш ефективною. Ось декілька з них:

  • min(x, y, ...) - повертає найменше значення серед x, y, ...;
  • max(x, y, ...) - Повертає найбільше значення серед x, y, ...;
  • abs(x) - Повертає абсолютне значення значення x;
  • round(x, n) - Округляє число x до n десяткових знаків;
  • pow(x, n) - Підносить x до степеня n;

Наприклад, припустимо, що ми хочемо обчислити густоту населення для набору країн зі списку countries. Для цього ми розділимо кількість населення на площу. Ось як це робиться:

1234567891011
# Initial data countries = [["USA", 9629091, 331002651], ["Canada", 9984670, 37742154], ["Germany", 357114, 83783942], ["Brazil", 8515767, 212559417], ["India", 3166391, 1380004385]] # Iterating over external list for i in range(len(countries)): if type(countries[i]) is list: # Computing population density for a country pop_dens = countries[i][2]/countries[i][1] print(countries[i][0], pop_dens, 'people per km²')
copy

У наведеному вище прикладі наш список мав 5 вкладених списків. Ми пройшлися по головному списку і перевірили, чи є кожен елемент списком. Якщо так, то ми поділили третій елемент (населення) на другий елемент (площа).

Однак результати не дуже зручні для читання, оскільки вони мають більше ніж 10 десяткових знаків. Щоб зробити їх більш зрозумілими, можна використовувати функцію round(), щоб скоротити їх до лише 2 десяткових знаків. Пам'ятайте, ця функція приймає два аргументи: перший - це число, яке ви хочете округлити, а другий вказує, скільки десяткових знаків ви хочете зберегти.

1234567891011
# Initial data countries = [["USA", 9629091, 331002651], ["Canada", 9984670, 37742154], ["Germany", 357114, 83783942], ["Brazil", 8515767, 212559417], ["India", 3166391, 1380004385]] # Iterating over external list for i in range(len(countries)): if type(countries[i]) is list: # Computing population density for a country pop_dens = round(countries[i][2]/countries[i][1], 2) print(countries[i][0], pop_dens, 'people per km²')
copy

Як ви можете бачити, виправлений результат є набагато зрозумілішим та легшим для розуміння.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 6. Розділ 1
some-alt