Форум сайта python.su
Добрый день. Помогите плиз решить задачу.
Реализовать функцию get_pairs(lst: list) ->List(Tuple), которая возвращает список из кортежей, содержащих пары элементов. пары следует формировать так, как показано в примере: вход: “1, 2, 3, 5”
выход: “(1,2), (2, 3), (3, 5)”. если в списке есть только 1 элемент, то вернуть None
Отредактировано vadart1985 (Ноя. 22, 2022 08:19:49)
Офлайн
Тут нужно индексную переменную i поставить сначала на двойку и взять от неё (i - 1, i) и добавить эту пару к результату, который будет возвращаться, а потом прибавить к i единицу и повторить это всё в том же виде.
vadart1985
Реализовать функцию get_pairs(lst: list) ->List(Tuple), которая возвращает список из кортежей, содержащих пары элементов. пары следует формировать так, как показано в примере: вход: “1, 2, 3, 5”
выход: “(1,2), (2, 3), (3, 5)”. если в списке есть только 1 элемент, то вернуть None
>>> def f(lst): ... out = [] ... length = len(lst) ... if length == 1: ... return None ... i = 1 ... while i < length: ... out.append((lst[i - 1], lst[i])) ... i += 1 ... return out ... >>> f([]) [] >>> f([1]) >>> f([1, 2]) [(1, 2)] >>> f([1, 2, 3]) [(1, 2), (2, 3)] >>> f([1, 2, 3, 5]) [(1, 2), (2, 3), (3, 5)] >>>
Отредактировано py.user.next (Ноя. 22, 2022 20:54:46)
Офлайн