Python中的元组到底是什么?

8 投票
7 回答
3271 浏览
提问于 2025-04-15 20:40

我正在做一些Python练习,但在这个问题上卡住了。

# 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

什么是元组?它们是指列表中的列表吗?

7 个回答

11

以下是一些关于Python中元组和列表的链接,帮助你理解这两种数据类型的区别:

17

元组是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

元组和列表非常相似。作为用户,主要的区别在于元组是不可改变的(也就是说不能修改)

在你的例子中:

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

这是一个包含元组的列表 [...] 是这个列表 (2,2) 是一个元组

撰写回答