Дан произвольный список.
Представьте его в обратном порядке.
my_list = [2, 4, 8]
print(my_list[::-1])
[8, 4, 2]
my_list = [2, 4, 8]
my_list.reverse()
print(my_list)
[8, 4, 2]
Напишите функцию change(lst), которая принимает список и меняет местами его первый и последний элемент.
В исходном списке минимум 2 элемента.
def change(lst):
new_start = lst.pop() # Удаляем последний элемент и сохраняем его в переменную
new_end = lst.pop(0) # Удаляем первый элемент и сохраняем его в переменную
lst.append(new_end) # Добавляем к списку новый последний элемент
lst.insert(0, new_start) # Добавляем к списку новый первый элемент
return lst
# Тесты
print(change([1, 2, 3]))
print(change([1, 2, 3, 4, 5]))
print(change(['н', 'л', 'о', 'с']))
[3, 2, 1]
[5, 2, 3, 4, 1]
['с', 'л', 'о', 'н']
def change(lst):
lst[0], lst[-1] = lst[-1], lst[0]
return lst
# Тесты
print(change([1, 2, 3]))
print(change([1, 2, 3, 4, 5]))
print(change(['н', 'л', 'о', 'с']))
[3, 2, 1]
[5, 2, 3, 4, 1]
['с', 'л', 'о', 'н']
Функция to_list() принимает неограниченное количество параметров.
Обработайте их так, чтобы на выходе получить список из этих элементов.
def to_list(*args):
return list(args)
# Тесты
print(to_list(1, 5, 77))
print(to_list('Молоко', 5, '2020 год'))
print(to_list([3, 4, 7], 8.3, True, 'Строка'))
[1, 5, 77]
['Молоко', 5, '2020 год']
[[3, 4, 7], 8.3, True, 'Строка']
Николай задумался о поиске «бесполезного» числа на основании списка.
Суть оного в следующем: он берет произвольный список чисел, находит самое большое из них, а затем делит его на длину списка.
Студент пока не придумал, где может пригодиться подобное значение, но ищет у вас помощи в реализации такой функции useless(s).
def useless(lst):
return max(lst) / len(lst)
# Тесты
print(useless([1, 5, 77]))
print(useless([19, 8.3, -4, 11, 0, 5]))
print(useless([-33, -0.05, -4.18, 11.2, 13.12, 55, 7.1]))
25.666666666666668
3.1666666666666665
7.857142857142857
Требуется создать функцию list_sort(lst), которая сортирует список чисел по убыванию их абсолютного значения.
def list_sort(lst):
lst.sort(key=lambda x: abs(x), reverse=True)
return lst
# Тесты
print(list_sort([1, 5, 77]))
print(list_sort([19, 8.3, -4, 11, 0, 5]))
print(list_sort([-33, -0.05, -4.18, 11.2, 13.12, 55, 7.1]))
[77, 5, 1]
[19, 11, 8.3, 5, -4, 0]
[55, -33, 13.12, 11.2, 7.1, -4.18, -0.05]
На входе имеем список строк разной длины.
Необходимо написать функцию all_eq(lst), которая вернет новый список из строк одинаковой длины.
Длину итоговой строки определяем исходя из самой большой из них.
Если конкретная строка короче самой длинной, дополнить ее нижними подчеркиваниями с правого края до требуемого количества символов.
Расположение элементов начального списка не менять.
def all_eq(lst):
max_item = max(lst, key=lambda x: len(x))
max_len = len(max_item)
return [item.ljust(max_len, '_') for item in lst]
# Тесты
print(all_eq(['крот', 'белка', 'выхухоль']))
print(all_eq(['a', 'aa', 'aaa', 'aaaa', 'aaaaa']))
print(all_eq(['qweasdqweas', 'q', 'rteww', 'ewqqqqq']))
['крот____', 'белка___', 'выхухоль']
['a____', 'aa___', 'aaa__', 'aaaa_', 'aaaaa']
['qweasdqweas', 'q__________', 'rteww______', 'ewqqqqq____']