首页 > 代码库 > 列表的操作

列表的操作

  

字符串取数据需要下标一个个数进行取值,会比较麻烦,相对的话列表取值就比较方便

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是因为这只是一个处理方法,只做排序,不做其他事,不进行存值得,需要单独去取值

多维数组

有几个数组就是几维

  1. 多维数组的取值
list=[1,2,3,‘lisi‘,[‘zhang‘,‘MLing‘,‘niu‘,[‘han‘,‘jia‘,‘pu‘]]]
print(list[4][3][2])

返回结果:

pu

列表的操作