字符串取数据需要下标一个个数进行取值,会比较麻烦,相对的话列表取值就比较方便
1.列表的定义
变量名=[元素,元素,元素…]
2.列表取值 --同字符串取值一样
下标取值的格式:
变量名[X] X为第几个元素
变量名[X:Y] X为从第几个元素开始,Y为从第几个元素结束
变量名[-1] 取最后一个元素
names=[1,2,3,‘MLing‘,‘zhang‘] print(names[3]) print(names[0:4])
返回结果:
MLing
[1, 2, 3, ‘MLing‘]
3.列表循环—同字符串取值一样
names=[1,2,3,‘MLing‘,‘zhang‘] for i in names: print (i)
返回结果:
1
2
3
MLing
zhang
4.修改列表中的值
因为列表是可变的变量,所以可通过下边修改列表中的值,如下:
names=[1,2,3,‘MLing‘,‘zhang‘] names[3]=‘YLing‘ print (names)
返回结果:
[1, 2, 3, ‘YLing‘, ‘zhang‘]
5.增加列表中的元素
1) append()方法给列表从最末尾添加值
names=[1,2,3,‘MLing‘] names.append(‘liujia‘) print (names)
返回结果:
[1, 2, 3, ‘MLing‘, ‘liujia‘]
2) insert()指定位置添加元素
names=[1,2,3,‘MLing‘] names.insert(0,‘li‘) print (names)
返回结果:
[‘li‘, 1, 2, 3, ‘MLing‘]
6.删除列表中的元素
1) pop()方法默认删除最后一个元素,也可以传值,删除指定的元素
不指定:
names=[1,2,3,‘MLing‘] names.pop() print (names)
返回结果:
[1, 2, 3]
指定:
names=[1,2,3,‘MLing‘] names.pop(1) #删除第二个元素 print (names)
返回结果:
[1, 3, ‘MLing‘]
2) clear()清空列表所有元素
names=[1,2,3,‘MLing‘] names.clear() print (names)
返回结果:
[]
3) del 变量名[下标]删除指定位置的元素
names=[1,2,3,‘MLing‘] del names[1] print (names)
返回结果:
[1, 3, ‘MLing‘]
注意del和pop的区别是:pop可以不指定列表的下标默认删除最末尾的元素,也可以指定下标,删除具体的值,可del是只可以进行指定删除的,当不指定的时候,会报错的,del也可以直接删除变量或者列表
del和pop的相同点是:传的下标一定是存在的,如果不存在的话,是都会报错的
4) remove(元素)删除列表中的元素
names=[1,2,3,‘MLing‘] names.remove(2) names.remove(‘MLing‘) print (names)
返回结果:
[1, 3]
注意remove和pop的区别是:remove是直接输入要删除的元素,pop则是输入要删除的元素的下标,并且remove()中的内容不可为空,一次只能删除一个下标对应的元素,pop()可以为空,默认删除最末尾的元素
注意在列表的操作函数中只有pop()是有返回值得,删除谁就会把谁给返回了,可以用一个变量来接收它
7.count()查看一个元素在列表里的次数
找不到的话不会报错,返回0,可以判断元素重复count()>0就是重复,当然也可以用in判断元素在不在列表里面
names=[1,2,3,‘MLing‘,‘MLing‘,‘MLing‘] i=names.count(‘MLing‘) print (i)
返回结果:
3
8.index方法返回查找元素的下标
如果有多个的话,返回第一个,没有的话会报错:
格式为:indrx(元素,X,Y)
元素为需要查找的元素
X代码的是下标,表示从哪里开始找
Y 代码的也是下标,表示从哪里结束
names=[1,2,3,‘MLing‘,‘MLing‘,‘MLing‘] print (names.index("MLing")) print (names.index("MLing",5)) #代表从第5个下标开始找 print (names.index("MLing",3,5)) #代表从第3个下标开始找,到第5个下标结束 # print (names.index("MLing",0,2)) 该范围内没有,执行的话会报错
返回结果:
3
5
3
9.两个列表可以合并
1) 用+号将两个列表的内容加起来,原列表的值没有变,会成为一个新的列表
names=[1,2,3,‘MLing‘] stus=[‘zhang‘,‘li‘] print("汇总:",stus+names) print("names:",names) print("stus:",stus)
返回结果:
汇总: [‘zhang‘, ‘li‘, 1, 2, 3, ‘MLing‘]
names: [1, 2, 3, ‘MLing‘]
stus: [‘zhang‘, ‘li‘]
2) Extend()把一个列表里的值加到另一个列表里,没有生成一个新的列表
names=[1,2,3,‘MLing‘] stus=[‘zhang‘,‘li‘] stus.extend(names) #把names列表里的元素加到stus里 print("汇总:",stus) print("names:",names) print("stus:",stus)
返回结果:
汇总: [‘zhang‘, ‘li‘, 1, 2, 3, ‘MLing‘]
names: [1, 2, 3, ‘MLing‘]
stus: [‘zhang‘, ‘li‘, 1, 2, 3, ‘MLing‘]
10.排序sort()
默认是升续,指定指定reverse=True就是降序
one=[1,22,234,4354,35345,765] one.sort() print("升序",one) #默认升续 one.sort(reverse=True) print("降序",one) #降序排列
返回结果:
升序 [1, 22, 234, 765, 4354, 35345]
降序 [35345, 4354, 765, 234, 22, 1]
11.Revers方法反转列表中的数据:
one=[1,22,234,4354,35345,765] print("降序",one.reverse()) print(one)
返回结果:
降序 None
[765, 35345, 4354, 234, 22, 1]
注意one.reverse()返回None是因为这只是一个处理方法,只做排序,不做其他事,不进行存值得,需要单独去取值
多维数组
有几个数组就是几维
- 多维数组的取值
list=[1,2,3,‘lisi‘,[‘zhang‘,‘MLing‘,‘niu‘,[‘han‘,‘jia‘,‘pu‘]]] print(list[4][3][2])
返回结果:
pu