Что такое точно кортежи в Python?

Я следую за несколькими упражнениями 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

Что такое Кортеж? Они имеют в виду Список Списков?

5
задан jfs 21 March 2010 в 20:57
поделиться

4 ответа

Кортеж и список очень похожи. Основное отличие (как пользователя) заключается в том, что кортеж неизменяем (не может быть изменен)

В вашем примере:

[(2, 2), (1, 3), (3, 4, 5), (1, 7)]

Это список кортежей [...] это список (2,2) - это кортеж

3
ответ дан 18 December 2019 в 05:49
поделиться

Кортеж является простейшим из типов последовательностей 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", [])

Надеюсь, это поможет. Также см. , что в руководстве говорится о кортежах.

14
ответ дан 18 December 2019 в 05:49
поделиться

Кортежи используются для группировки связанных переменных вместе. Часто удобнее использовать кортеж, чем писать еще один одноразовый класс. Конечно, доступ к их содержимому по индексу более неясен, чем именованная переменная-член, но всегда можно использовать «распаковку кортежа»:

def returnTuple(a, b):
    return (a, b)

a, b = returnTuple(1, 2)
0
ответ дан 18 December 2019 в 05:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: