python官方的扩展索引_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))

运行结果:

f07ab8dbad97aff654b5cfd786f2cb20.png

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))

运行结果:

516c6070aeb2e711af0838d9042ed344.png

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'))

运行结果:

a1914d7bae6f2ef0035265ed37f0ebff.png

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)

运行结果:

05cfe7c29a1ac5140f1ca20bf7d1e6c0.png

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)

运行结果:

37e0337a46ed209eb0719a4cd4cc45a7.png

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 inenumerate(list):8 print('index= %s ,value =%s'%(i,v))

运行结果:

7de2388e597100054ef2b2d882c37ad7.png

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)

运行结果:

7150954023ab2accea48a806630da2d0.png

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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值