在python documentation for versions 2.x中明确指出有七种序列数据类型。一段时间之后(在同一页面上),文档继续讨论集合和元组,这两个都不包括在上面的七个中。有谁知道究竟是什么定义了序列类型?我的直觉定义设置和元组非常适合该法案,我没有任何运气找到明确的官方定义。
谢谢!
答案 0 :(得分:2)
" sequence"暗示订单,但订单不按特定顺序排列。
答案 1 :(得分:0)
Element index 是Python sequences的基本概念。如果你看一下序列操作表,你会看到一些直接与索引一起工作的东西:
s[i] ith item of s, origin 0 (3)
s[i:j] slice of s from i to j (3)(4)
s[i:j:k] slice of s from i to j with step k (3)(5)
s.index(i) index of the first occurence of i in s
集合和字典没有元素索引的概念,因此不能被视为序列。
答案 2 :(得分:0)
在数学中,非正式地说,序列是对象(或事件)的有序列表。像集合一样,它包含成员(也称为元素或术语)。有序元素的数量(可能是无限的)称为序列的长度。与集合不同,顺序很重要,并且完全相同的元素可以在序列中的不同位置多次出现。最准确地说,序列可以定义为一个函数,其域是一个可数的完全有序集,例如自然数。
http://en.wikipedia.org/wiki/Sequence
)
答案 3 :(得分:0)
请参阅Python glossary:
序列
一个iterable,它通过
__getitem__()
特殊方法使用整数索引支持有效的元素访问,并定义一个返回序列长度的len()
方法。一些内置序列类型是list,str,tuple和unicode。请注意,dict还支持__getitem__()
和__len__()
,但它被认为是映射而不是序列,因为查找使用任意不可变键而不是整数。
元组是序列。集合不是序列 - 它们没有顺序,也不能通过set[index]
索引 - 它们甚至没有任何类型的索引概念。 (但它们是iterable
- 您可以迭代他们的项目。)