我正在进行一些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
什么是元组?它们是指列表清单吗?
答案 0 :(得分:14)
元组是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", [])
希望这会有所帮助。另请参阅what the tutorial has to say about tuples.
答案 1 :(得分:11)
答案 2 :(得分:3)
元组和列表非常相似。主要区别(作为用户)是元组是不可变的(不能被修改)
在你的例子中:
[(2, 2), (1, 3), (3, 4, 5), (1, 7)]
这是一个元组列表 [...]是清单 (2,2)是一个元组
答案 3 :(得分:2)
元组是不可变的Python对象的序列。元组是序列,就像列表一样。元组和列表之间的区别在于,不能更改元组,这与列表不同,元组使用括号,而列表使用方括号。
创建元组就像放置不同的逗号分隔值一样简单。 (可选)您也可以将这些逗号分隔的值放在括号之间。例如-
tup1 = ('Dog', 'Cat', 2222, 555555);
tup2 = (10, 20, 30, 40, 50 );
tup3 = "a", "b", "c", "d";
空元组写为两个不包含任何内容的括号-
tup1 = ();
要编写包含单个值的元组,即使只有一个值,您也必须包含逗号-
tup1 = (45,);
像字符串索引一样,元组索引从0开始,并且可以对其进行切片,连接等。
答案 4 :(得分:1)
我读过的列表和元组之间差异的最佳总结是:
这些更有趣(如果微妙)差异的一个常见摘要是元组是异构,列表是同类。换句话说:元组(通常)是不同类型的东西的序列,并且您将元组作为连贯单元处理。列表(通常)是相同类型的序列,您可以单独处理这些项目。
答案 5 :(得分:0)
元组用于将相关变量组合在一起。使用元组通常更方便,而不是编写另一个单用类。当然,通过索引访问它们的内容比命名成员变量更加模糊,但是总是可以使用'tuple unpacking':
def returnTuple(a, b):
return (a, b)
a, b = returnTuple(1, 2)
答案 6 :(得分:0)
在Python编程中,元组类似于列表。它们之间的区别在于,一旦元组被分配,我们就无法更改它们的元素,而在列表中,元素可以被更改。 data-types-in-python