Я следую за несколькими упражнениями Pythone, и я озадачен в этом.
# C. sort_last
# Given a list of non-empty tuples, return a list sorted in increasing
# order by the last element in each tuple.
# e.g. [(1, 7), (1, 3), (3, 4, 5), (2, 2)] yields
# [(2, 2), (1, 3), (3, 4, 5), (1, 7)]
# Hint: use a custom key= function to extract the last element form each tuple.
def sort_last(tuples):
# +++your code here+++
return
Что такое Кортеж? Они имеют в виду Список Списков?
Кортеж и список очень похожи. Основное отличие (как пользователя) заключается в том, что кортеж неизменяем (не может быть изменен)
В вашем примере:
[(2, 2), (1, 3), (3, 4, 5), (1, 7)]
Это список кортежей [...] это список (2,2) - это кортеж
Кортеж является простейшим из типов последовательностей Python. можно рассматривать его как неизменяемый (доступный только для чтения) список:
>>> t = (1, 2, 3)
>>> print t[0]
1
>>> t[0] = 2
TypeError: tuple object does not support item assignment
Кортежи можно превратить в новые списки, просто передав их в list ()
(как любой итерируемый), и любую итерацию можно превратить в новый кортеж, передав его в tuple ()
:
>>> list(t)
[1, 2, 3]
>>> tuple(["hello", []])
("hello", [])
Надеюсь, это поможет. Также см. , что в руководстве говорится о кортежах.
Кортежи используются для группировки связанных переменных вместе. Часто удобнее использовать кортеж, чем писать еще один одноразовый класс. Конечно, доступ к их содержимому по индексу более неясен, чем именованная переменная-член, но всегда можно использовать «распаковку кортежа»:
def returnTuple(a, b):
return (a, b)
a, b = returnTuple(1, 2)