Зміст курсу
Вступ до Python
Вступ до Python
Вбудовані Функції
Що, якби вас попросили знайти найбільше число у списку? З отриманими знаннями ви могли б написати цикл для перевірки, чи є поточний елемент більшим/меншим за попередній найбільший, і оновити його; якщо ні, ви б продовжили пошук. Але для довгих списків цей метод може бути досить тривалим. На щастя, існують вбудовані функції, які можуть зробити цю задачу більш ефективною. Ось декілька з них:
min(x, y, ...)
- повертає найменше значення середx, y, ...
;max(x, y, ...)
- Повертає найбільше значення середx, y, ...
;abs(x)
- Повертає абсолютне значення значенняx
;round(x, n)
- Округляє числоx
доn
десяткових знаків;pow(x, n)
- Підноситьx
до степеняn
;
Наприклад, припустимо, що ми хочемо обчислити густоту населення для набору країн зі списку countries
. Для цього ми розділимо кількість населення на площу. Ось як це робиться:
# 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²')
У наведеному вище прикладі наш список мав 5 вкладених списків. Ми пройшлися по головному списку і перевірили, чи є кожен елемент списком. Якщо так, то ми поділили третій елемент (населення) на другий елемент (площа).
Однак результати не дуже зручні для читання, оскільки вони мають більше ніж 10 десяткових знаків. Щоб зробити їх більш зрозумілими, можна використовувати функцію round()
, щоб скоротити їх до лише 2 десяткових знаків. Пам'ятайте, ця функція приймає два аргументи: перший - це число, яке ви хочете округлити, а другий вказує, скільки десяткових знаків ви хочете зберегти.
# 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²')
Як ви можете бачити, виправлений результат є набагато зрозумілішим та легшим для розуміння.
Дякуємо за ваш відгук!