1. С помощью функции map выведите список имен с заглавной буквы.
names = ['alfred', 'tabitha', 'william', 'arla']
Результат: ['Alfred', 'Tabitha', 'William', 'Arla']
Используйте функцию написанную через def, затем Лямбда-функцию.
2. С помощью функции filter выведите список оценок, которые больше 75.
scores = [66, 90, 68, 59, 76, 60, 88, 74, 81, 65]
Результат: [90, 76, 88, 81]
Сначала используйте функцию, объявленную с помощью def, а затем воспользуйтесь Лямбда-функцией.
3. С помощью функции filter и Лямбда-функции выведите список слов-палиндромов.
words = ['Anna', 'Alexey', 'Alla', 'Kazak', 'Dom']
Результат: ['Anna', 'Alla', 'Kazak']
4 *. Изучить библиотеку time().
Напишите функцию, которая будет формировать список от 1 до n (n – это число, которое ввел юзер). Затем напишите к ней декоратор, который будет выводить время потраченное на выполнение работы функции, а также размер списка, который она сформировала.
Не пишите в функции больше 100000, иначе компьютер может зависнуть надолго!
5. Есть список слов. Нужно с помощью map и lambda функции вернуть список длин этих слов.
('apple', 'banana', 'cherry')
Результат: [5, 6, 6]
6 *.Есть два текстовых списка. Нужно вернуть один список объединенных слов.
Подаваемые данные: 2 списка
['apple', 'banana', 'cherry'], ['orange', 'lemon', 'pineapple']
Результат:
['appleorange', 'bananalemon', 'cherrypineapple']
Answers & Comments
Ответ:
1. С помощью функции map выведите список имен с заглавной буквы.
names = ['alfred', 'tabitha', 'william', 'arla']
Результат: ['Alfred', 'Tabitha', 'William', 'Arla']
Используйте функцию написанную через def, затем Лямбда-функцию.
# Функция через def
def capitalize_names(name):
return name.capitalize()
names = ['alfred', 'tabitha', 'william', 'arla']
capitalized_names = list(map(capitalize_names, names))
print(capitalized_names) # ['Alfred', 'Tabitha', 'William', 'Arla']
# Лямбда-функция
names = ['alfred', 'tabitha', 'william', 'arla']
capitalized_names = list(map(lambda name: name.capitalize(), names))
print(capitalized_names) # ['Alfred', 'Tabitha', 'William', 'Arla']
2. С помощью функции filter выведите список оценок, которые больше 75.
scores = [66, 90, 68, 59, 76, 60, 88, 74, 81, 65]
Результат: [90, 76, 88, 81]
Сначала используйте функцию, объявленную с помощью def, а затем воспользуйтесь Лямбда-функцией.
# Функция через def
def filter_scores(score):
return score > 75
scores = [66, 90, 68, 59, 76, 60, 88, 74, 81, 65]
filtered_scores = list(filter(filter_scores, scores))
print(filtered_scores) # [90, 76, 88, 81]
# Лямбда-функция
scores = [66, 90, 68, 59, 76, 60, 88, 74, 81, 65]
filtered_scores = list(filter(lambda score: score > 75, scores))
print(filtered_scores) # [90, 76, 88, 81]
3. С помощью функции filter и Лямбда-функции выведите список слов-палиндромов.
words = ['Anna', 'Alexey', 'Alla', 'Kazak', 'Dom']
Результат: ['Anna', 'Alla', 'Kazak']
# Лямбда-функция
words = ['Anna', 'Alexey', 'Alla', 'Kazak', 'Dom']
palindromes = list(filter(lambda word: word.lower() == word[::-1].lower(), words))
print(palindromes) # ['Anna', 'Alla', 'Kazak']
4 *. Изучить библиотеку time().
Напишите функцию, которая будет формировать список от 1 до n (n – это число, которое ввел юзер). Затем напишите к ней декоратор, который будет выводить время потраченное на выполнение работы функции, а также размер списка, который она сформировала.
Не пишите в функции больше 100000, иначе компьютер может зависнуть надолго!
import time
def time_it(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"Время выполнения функции: {end - start} секунд.")
print(f"Размер списка: {len(result)}")
return result
return wrapper
@time_it
def generate_list(n):
return list(range(1, n+1))
generate_list(100000)
5. Есть список слов. Нужно с помощью map и lambda функции вернуть список длин этих слов.
('apple', 'banana', 'cherry')
Результат: [5, 6, 6]
words = ('apple', 'banana', 'cherry')
word_lengths = list(map(lambda word: len(word), words))
print(word_lengths) # [5, 6, 6]
6 *.Есть два текстовых списка. Нужно вернуть один список объединенных слов.
Подаваемые данные: 2 списка
['apple', 'banana', 'cherry'], ['orange', 'lemon', 'pineapple']
Результат:
['appleorange', 'bananalemon', 'cherrypineapple'].
list1 = ['apple', 'banana', 'cherry']
list2 = ['orange', 'lemon', 'pineapple']
combined_list = list(map(lambda x, y: x+y, list1, list2))
print(combined_list) # ['appleorange', 'bananalemon', 'cherrypineapple']