Что такое кортежи в Python? - PullRequest
5 голосов
/ 21 марта 2010

Я следую за парой упражнений на Питона, и я в тупике.

# 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

Что такое кортеж? Они означают список списков?

Ответы [ 6 ]

14 голосов
/ 21 марта 2010

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

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

3 голосов
/ 21 марта 2010

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

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

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

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

1 голос
/ 05 августа 2010

Лучшая сводка различий между списками и кортежами, которые я прочитал, такова:

Одно общее обобщение этих более интересных, хотя и неуловимых, различий состоит в том, что кортежи неоднородны , а списки однородны . Другими словами: кортежи (как правило) - это последовательности разных видов вещей, и вы имеете дело с кортежем как слаженной единицей. Списки (обычно) - это последовательности того же вида материала, и вы имеете дело с элементами по отдельности.

От: http://news.e -scribe.com / 397

0 голосов
/ 20 сентября 2017

В программировании на Python кортеж похож на список. Разница между ними заключается в том, что мы не можем изменить элементы кортежа после его назначения, тогда как в списке элементы можно изменить. типы данных-в-питон

0 голосов
/ 22 марта 2010

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

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

a, b = returnTuple(1, 2)
...