在Python中,我们常用的内置数据结构有列表、元组、集合和字典。其中,只有列表和元组支持双向索引,可以通过正向索引和负向索引访问元素。而字典和集合不支持索引。
在Python中,内置的数据结构主要包括:
- 列表(list):有序,可变的数据集合,可以通过索引访问元素。
- 元组(tuple):有序,不可变的数据集合,可以通过索引访问元素。
- 集合(set):无序,可变,不重复的数据集合,不支持索引。
- 字典(dict):无序,可变,由键-值对组成的数据集合,通过键访问值,不支持索引。
其中,只有列表和元组支持双向索引,可以通过正向索引和负向索引访问元素。而集合和字典不支持索引。
列表和元组是有序的数据结构,使用整数索引可以访问元素。例如:
fruits = ['apple', 'banana', 'cherry']
fruits[0] # 正向索引,从左向右
'apple'
fruits[-1] # 负向索引,从右向左
'cherry'
正向索引从左向右编号,第一个元素索引为0,依此类推。负向索引从右向左编号,最后一个元素索引为-1,依此类推。
而集合和字典是无序的数据结构,不具有索引的概念。
- 集合是无序的,每个元素之间没有序号关系,所以不能通过索引访问元素。
- 字典使用键-值对存储数据,只能通过键来获取对应的值,不能通过索引访问值。例如:
fruits = {'a': 'apple', 'b': 'banana'}
fruits['a'] # 通过键访问值
'apple'
fruits[0] # 不支持索引
Traceback (most recent call last):
KeyError: 0
总之,在Python的数据结构中,只有列表和元组是有序的,支持通过整数索引访问元素,包括正向索引和负向索引。而集合和字典是无序的,不具有索引,不能通过索引访问元素。