索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
元素1 | 元素1 | 元素3 | 元素4 | 元素5 | 元素6 | 元素7 | 元素8 | 元素9 | 元素10 | 元素个数 |
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 索引下标 |
列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合,在这种数据结构上进行的基本操作包括对元素的的查找,插入,和删除。
定义(创建):名字 = [ 数据1, 数据2,数据3,…],’[]'是列表的标志。
// An highlighted block
mas1 = [1,2,3] #列表可以存储多个数字
mas2 = ['mas1', 'mas2','mas3'] #列表可以存储多个字符串
mas3 = [[],[],[]] 列表可以存储多个列表
为了方便用户判断自定义标识符类型,python3中提供了type()函数和isinstance(object, type)函数。本章节仅解析type()函数并且type()函数中仅存在一个参数。这两个函数在学习完类后再作解析。
关键字 | 解析 |
---|---|
type(标识符) | 当type()函数内只有第一个参数则返回对象的类型 |
mas1 = 10
mas2 = 'python3'
mas3 = ['p','y','t','h','o','n']
print(type(mas1))
print(type(mas2))
print(type(mas3))
#结果
#<class 'int'> mas1是整型。
#<class 'str'> mas2是字符串,type()中用str代表string。
#<class 'list'> mas3是列表类型,list是列表标识符。
我们是通过索引访问列表里面的元素,通常使用方括号的形式截取字符,方式类似第二章访问字符串中的值的方式。
mas3 = ['p','y','t','h','o','n'] #mas3中有6个元素
print ("mas3的第三个字符",mas3[2]) #寻找mas3中第三个元素,根据索引,等价于查找下标为2的元素。
pythony3中可以通过索改修改列表中的值。
mas3 = ['p','y','t','h','o','n']
print ("mas3的第三个字符",mas3[2])
mas3[2] = 5 #通过索引,给特定元素重新赋值,从而达到修改某个元素的目的
print("mas3的第三个字符",mas3[2])
var foo = 'bar';
假设 mas1是列表,num是字符串:
关键字 | 解析 |
---|---|
mas1.append(’num‘) | 作用是将字符串’num‘增加到mas1列表最后端 |
mas1.insert(0,”num”) | 作用是将字符串”num”插入到指定位置实例中为0;列表:insert(插入位置,插入内容) |
mas1 = [1,2,3,4,5,6] #创建列表
print(mas1)
mas1.append(7) #将7插入列表mas1最后位置
print(mas1)
mas1.insert(0,0) #将0插入列表mas1最前的位置
print(mas1)
用del()语句删除任何已知位置处的列表元素:
mas1 = [1,2,3,4,5,6]
print(mas1) #输出列表
del(mas1[2]) #删除列表第三个元素
print(mas1)
del mas1[2] #删除列表第三个元素
print(mas1)
使用pop() 方法可以移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。例如mas1是一个长度为10的列表,mas1.pop()就会吧mas1最后一个元素删除,此时mas1.pop()会被系统随机分配存储空间,并将删除的值赋值给mas1.pop()。
// An highlighted block
mas1 = [1,2,3,4,5,6]
print(mas1)
x = mas1.pop(2) #删除列表中索引下标为2的字符,并赋值给x
print(mas1)
print(x)
当我们想要删除列表中的某个元素,却又不知道这个元素的位置,这时我们就可以用remove()语句,例如:name.remove(“1”)#name是列表,’1‘是需要删除的元素,即时查找name中是否具有需要删除的元素,如果有就删除,没有就出现错误,如果有2个相同的元素只会移除发现的第一个元素。
// An highlighted block
mas1 = [1,2,2,3,4,5,6]
mas1.remove(2) #删除mas1中第一个与remove()中数值相等的元素
print(mas1)
关键字 | 解析 |
---|---|
.pop() | 默认弹出数组尾部字符串,也可以自己控制,永久排序(直接影响原数组) |
.sort() | 空括号默认正序排列序列,等价于.sort(reverse=True),改变原序列 |
.sort(reverse=True) | 倒序排列序列,改变原序列 |
sorted(mas1, key=lambda x:x==num, reverse=False/True) | mas1是可迭代对象,key 是指定可迭代对象中的一个元素来进行排序。reverse = True 降序 , reverse = False 升序(默认) |
,对原序列不产生影响 | |
.reverse() | 对括号内序列犯翻转,y轴对称 |
range(num1,num2) | 生成有规律的数字序列,从num1开始num2结束 |
mas1[:] | mas1是序列,复制序列,对原序列无影响 |
元组是不可以修改的列表。用括号定义()。
mas1 = (1,2,3,4,5)