Python list常用方法(建,查,增,删,改,扩展)总结

list:是其他语言的数组,序列是有序的,可重复的

 1、创建list

list = [1,2,3]

list1 = ['a','b','c']

list2 = []空列表

代码:

1 list = [1,2,3]
2 list1 = ['a','b','c']
3 list2 = []
4 print(list,type(list))
5 print(list1,type(list1))
6 print(list2,type(list2))

运行结果:


 

 2、添加新的元素

list.append()在list末尾增加一个元素

list.insert(n,3)在指定位置添加元素,如果指定的下标不存在,那么就在末尾添加

list1.extend(list2)把list2的元素合并到list1中,list2中元素任然正常,list1为合并后

代码:

 

 1 list = ['a', 'b', 'c']
 2 list1 = [1, 2, 3, 4]
 3 print(list, type(list))
 4 list.append(2)  # 在list最后插入元素2
 5 print(list, type(list))
 6 list.insert(2, 'da')  # 在list第三位插入元素da
 7 print(list, type(list))
 8 list.extend(list1)  # 把list1的元素合并到list中
 9 print(list, type(list))
10 print(list1, type(list1))

 

运行结果:


 

 

3.查看列表中的元素

 print(list)打印整个列表

print(list[n])查看下标索引为n的列表中的值,如果索引n不存在会报错

print(list.count(xx))查看列表中值为xx的元素的个数,如果该元素不存在,那么返回0

print(list.index(xx))找元素xx的索引值,如果有多个,返回第一个xx元素的索引值,如果元素xx不存在则会报错

代码:

1 list = ['a', 'b', 'c','a','ab']
2 list1 = [1, 2, 3, 4]
3 print(list)
4 print(list[1])
5 print(list.count('a'),list.count('d'))
6 print(list.index('a'))

运行结果:


 

4.删除list中的元素

list.pop()删除最后一个元素

list.pop(n)删除指定索引的元素,如果该索引不存在则会报错

list.remove(xx)删除list的一个元素xx,如果有多个xx,删除第一个,如果不存在则报错

print(list.pop())有返回值

print(list.remove())无返回值

clear list情况list中的元素,list不能访问

代码:

 1 list = ['a', 'b', 'c','a','ab']
 2 list1 = [1,2,3,4,6,1,5,3]
 3 print('list is:',list)
 4 print('list.pop() is:',list.pop())
 5 print('list is:',list)
 6 print('list.pop(1) is:',list.pop(1))
 7 print('list is:',list)
 8 print('list1.remove(1) is:',list1.remove(1))
 9 print('list1 is:',list1)
10 print('list1 clear is:',list1.clear())
11 print('list1 is:',list1)

运行结果:


 

5.排序和反转

list.reverse()将列表反转

list.sort()排序,默认升序

list.sort(reverse=True)降序排列

注意:list中有字符串,数字时不能排序,排序针对的同类型

代码:

 1 list = ['a', 'b', 'c','a','ab']
 2 list1 = [1,2,3,4,6,1,5,3]
 3 print('list is:',list)
 4 list.reverse()    #list元素反转
 5 print('list is:',list)
 6 print('list1 is:',list1)
 7 list1.sort()     #list默认升序排列
 8 print('list1 is:',list1)
 9 list1.sort(reverse=True)  #list降序排列
10 print('list1 is:',list1)

运行结果:


 

6.列表操作函数

len(list):列表元素个数

max(list):返回列表元素的最大值

min(list):返回列表元素的最小值

list(seq):将元组转换为列表

enumerate用法,打印元素对应的下标

代码:

1 list = ['a', 'b', 'c','a','ab']
2 list1 = [1,2,3,4,6,1,5,3]
3 n = len(list)
4 print('list 元素个数为:',n)
5 print('list中max值:',max(list))
6 print('list1中min值:',min(list1))
7 for i, v in enumerate(list):
8     print('index= %s ,value =%s'%(i,v))

运行结果:


 

7.list切片

切片(list取值方法)

name[n:m]切片是不包括后面那个元素的值(顾前不顾尾)

name[:m]如果切片前面值缺失,从头开始取值

name[n:]如果切换后面值缺失,取值到最后一个

name[:]如果前后值全部缺失,取全部

name[n:m:s] s:步长,s=2表示隔1个元素取一次

步长为正数,从左往右取

步长为负数,从右往左取

注意:切片同样适用于字符串

代码:

 1 list = ['a', 'b', 'c','a','ab']
 2 list1 = [1,2,3,4,6,1,5,3]
 3 list2 = list[1:4]
 4 print('list2 is:',list2)
 5 list3 = list1[:3]
 6 print('list3 is:',list3)
 7 list4 = list1[2:]
 8 print('list4 is:',list4)
 9 list5 = list[:]
10 print('list5 is:',list5)
11 list6 = list1[4:1:-2]
12 print('list6 is:',list6)
13 list7 = list1[1:4:2]
14 print('list7 is:',list7)

运行结果:


 

8、列表生产式

列表生产式既List Comprehensions,是Python内置创建list的生产式

实例1:生成list[1,2,3,4,5,6,7,8,9,10]可以用list(range(1,11)):list=list(range(1,11))

代码:

1 list = list(range(1,15))
2 print('list is:',list)

实例2:生成list[1×1,2×2,3×3,4×4,5×5,6×6,7×7,8×8,9×9,10×10]可以用list = list(x*x for x in range(1,11))

代码:

1 list1 = list(x*x for x in range(1,11))
2 print('list1 is:',list1)

实例3:for循环加判断:list = list(x*x for in range(1,11)if x%2 == 0)

1 list = list(x*x for x in range(1,11)if x%2 == 0)
2 print('list is:',list)

实例4:使用两层循环

list = [m + n for m in 'ABC' for n in 'XYZ']

print(list)

输出结果:['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

代码:

1 list = list(x+str(y) for x in 'ABCD' for y in range(1,7))
2 print('list is:',list)
1 list1 = [m+n for m in 'ABC' for n in  'XYZ']
2 print('list1 is:',list1)

 实例5:列表数据加1

list = [1,3,5,7,9,11]

需要生成list1 = [2,4,6,8,10,12]

list1 = [i+1 for i in list]

posted @ 2020-12-25 15:08  大王要我来巡山  阅读(1306)  评论(0)    收藏  举报