目录
数据与结构
通俗来讲数据结构即储存大量数据的容器,在python
中称之为内置数据结构(Built-in Data Structure),python
中有四种数据结构,分别是:列表、字典、元组,集合,每种数据结构都有自己的特点。
# 列表
list = [val1, val2, val3, val4]
# 字典
dict = {
key1:val1, key2:val2}
# 元组
tuple = (val1, val2, val3, val4)
# 集合
set = {
val1, val2, val3, val4}
从最容易识别的特征上来看,列表中的元素是用方括号括起来的,字典和集合中的元素是用花括号括起来的,元组中的元素是圆括号。
其中字典中的元素均是有关键字key
和值value
的对应关系组。
列表(list
)
列表具有的最显著的特征是:
- 列表中的每一个元素都是可变的,这意味着我们可以在列表中添加、删除和修改元素;
- 列表中的元素是有序的,也就是说每一个元素都有一个位置,说明可以进行索引,切片等操作;
- 列表可以容纳
python
中的任何对象
# 列表的索引操作
Weekday = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(Weekday[0])
Monday
# 列表可以装入python中的所有对象,举例说明:
all_in_list = [
1, #整数
1.0, #浮点数
'a word', #字符串
print(1), #函数
True, #布尔值
[1,2], #列表中套列表
(1,2), #元组
{
'key':'value'} #字典
]
print(all_in_list)
1
[1, 1.0, 'a word', None, True, [1, 2], (1, 2), {'key': 'value'}]
列表的增改删查
- 列表的插入
# 列表的插入,insert()方法
fruit = ['pineapple', 'pear']
fruit.insert(1,'grape') # 指定位置和要插入的元素
print(fruit)
['pineapple', 'grape', 'pear']
在使用
insert()
方法时,必须指定在列表中要插入的新元素的位置,插入元素的实际位置是在指定位置元素之前的位置,
如果指定插入的位置在列表中不存在,即超出指定列表长度,那么被插入元素被放到列表的最后
使用下述这种方法也可以达到“插入”的效果
fruit[0:0] = ['Orange'] # 插入位置是第0个位置,[1:1]插入位置是第1个位置,类似于切片操作的区间
print(fruit)
['Orange', 'grape']
- 删除列表中元素使用的方法是
remove()
fruit = ['pinapple', 'pear', 'grape']
fruit.remove('grape')
print(fruit)
['pinapple', 'pear']
删除还有一种操作,是使用del
关键字进行声明
fruit = ['Grapefruit', 'pear', 'grape']
del fruit[0:2] # 删除第0个和第1个元素,因为该区间是左闭右开的
print(fruit)
['grape']
- 替换或修改列表中的元素
fruit = ['pinapple', 'pear', 'grape']
fruit[0] = 'Grapefruit' # 将列表中第0个位置的元素替换为 Grapefruit
print(fruit)
['Grapefruit', 'pear', 'grape']
列表的索引与字符串的切片特别相似,同样分正反索引两种方式,只要输入对应位置就会返回在这个位置上的值
sample= | [ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ] |
---|---|---|---|---|---|---|---|---|---|---|---|
index: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
reverse index: | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | <