玖叶教程网

前端编程开发入门

python列表list()常用(增册改查计序)6大操作

列表常用操作

  1. 方法与函数的区别

方法与函数的区别:与函数功能一样,只不过写的地方不一样,就叫不一样的名字,使用方式不一样。

  • 函数:函数名(参数)
  • 方法:类对象 . 方法名(参数),多了一个点

增:第1类操作

单个末尾追加:.append(元素)

功能:列表最后追加元素

语法:列表.append(元素)

示例:

a = [3,'aaa',True]
a.append('bbb')
print(a)   #[3, 'aaa', True, 'bbb']

定点插入:.insert(下标,元素)

功能:插入元素

语法:列表.insert(下标,元素)

示例:

a = [3,'aaa',True]
a.insert(2,'bbb')     # 在第2个元素下插入,会把第2个元推到后面。
print(a)     							# [3, 'aaa', 'bbb', True]

a = [3,'aaa',True]
b = ['bbb','ddd',5]
a.insert(1,b)							# 把列表插入,也当一个元素插入。
print(a)     								# [3, ['bbb', 'ddd', 5], 'aaa', True]

批量追加:.extend(元素)

功能:追加一批数据,至少添加一个元素

语法:列表.extend(容器)

示例

a = [3,'aaa',True]
b = ['bbb','ddd',5]
a.extend(b)						 #  把 b 列表 每一个元素插入进来,依次放到最后。
print(a)      						#  [3, 'aaa', True, 'bbb', 'ddd', 5]

切片:在任何位置添加至少一个元素

语法:列表[ 下标 : ] = 列表

示例:

a = [3,'aaa',True]
b = ['bbb','ccc','ddd']
a[2:] = b
print(a) 									# [3, 'aaa', 'bbb', 'ccc', 'ddd']
'----------------------------------------------------------'
a = [3,'aaa',True]
b = ['bbb','ccc','ddd']
a[2:] = 'f'
print(a) 									# [3, 'aaa', 'f']
'----------------------------------------------------------'
a = [3,'aaa',True]
b = ['bbb','ccc','ddd']
a[2:] = 'fffff'
print(a) 									# [3, 'aaa', 'f', 'f', 'f', 'f', 'f']

+:拼接

语法:列表 + 列表

示例:

l = [1,2,3]
a = ['a','b','c']
c = l +a
print(c)      # [1, 2, 3, 'a', 'b', 'c']

*:相乘

语法:列表 * 数字

示例:

l = [1,2,3]
x = 2
c = l * x
print(c)        # [1, 2, 3, 1, 2, 3]

删:第2类操作

删除指定下标元素:del 列表[下标]

功能:删除指定下标元素

语法:

  1. del 列表[下标]
  2. del 列表[下标:下标]
  3. del 列表

示例:

a = [10,20,30,40,50,60]
del a[2]           # 删除列表 a 的第 2 号值 【30】
print(a)  					# [10, 20, 40, 50, 60]
a = [10,20,30,40,50,60]
del a[2:]       # 删除列表 a 的第 2 号之后所有值 【30,40,50,60】
print(a) 				# [10, 20]
a = [10,20,30,40,50,60]
del a[::2]      # 每间隔2个删除全部【10,30,50】
print(a)        # [20, 40, 60]
a = [10,20,30,40,50,60]
del a[::-2]    # 从后面每间隔2个删除全部【60,40,20】
print(a)        # [10, 30, 50]
a = [10,20,30,40,50,60]
del a         # 删除列表,删除这个对象。
print(a)     # 出错:NameError

删除最后一个或指定下标的元素,并返回此元素:.pop(下标):

功能:删除并返回元素,默认移除最后一个,或指定下标元素。

索引不存在:报错:IndexError

语法:

列表.pop( )

示例:

a = [3,'aaa','bbb']
b = a.pop()
print(b)
print(a)

列表.pop(下标)

a = [3,'aaa','bbb']
b = a.pop(1)
print(b)			# aaa
print(a)			# [3, 'bbb']

删除第一匹配的元素:.remove(元素)

功能:删除一个元素,重复元素也只删除第一个,不存在,报错 valueError

语法:列表.remove(元素)

示例:

a = [2,True,'aaa',3,True]
a.remove(True)
print(a) 					# [2, 'aaa', 3, True]
											# 只删除啦第一个匹配值:True ,第二个还在。

清空列表:.clear()

功能:清空列表

语法:列表.clear()

示例:

a = [2,True,'aaa',3,True]
a.clear()
print(a)    #  [ ]  是个空的值

[ ] :切片

功能:删除一个或一批元素

语法:列表[m:n]

示例:

a = [10,20,30,40,50,60]
print(a)					# [10, 20, 30, 40, 50, 60]
a[2:3] = []			# 删除1个元素:第2个:【30】
print(a)					#[10, 20, 40, 50, 60]

a = [10,20,30,40,50,60]
print(a)				# [10, 20, 30, 40, 50, 60]
a[2:] = []			# 删除1堆元素:第2个之后所有:【30,40,50,60】
print(a)				# [10, 20]

改:第3类操作

[ ] :切片:修改一个或一批元素。

功能:修改指定索引元素

语法:列表[下标] = 值

示例:

a = [10,20,30,40,50,60]
a[2] = 100
print(a)					# [10, 20, 100, 40, 50, 60]

a = [10,20,30,40,50,60]
a[2:5] = [100]														# 修改成一个值
print(a)																			# [10, 20, 100, 60]

a = [10,20,30,40,50,60]
a[2:5] = [100,200,300,400]				# 修改成一批值
print(a)																			# [10, 20, 100, 200, 300, 400, 60]

查:第4类操作

查找指定元素下标:.index(元素)

功能:查找某元素的下标

语法:列表.index(元素,[ 开始下标,结束下标])

示例:

a = [3,'aaa',True]
print(a.index('aaa'))			# 在第1个位置找到。

a = ['a',2,'a','aaa','a',True]
print(a.index('a',3,5))		# 从第3个位置找,在第4个位置找到。 

a = [3,'aaa',True]
print(a.index('aa'))		# 找不到:报错
																	# ValueError: 'aa' is not in list

查找索引和值:enumerate( x )

功能:获取列表索引和对应的元素

示例:

list1 = ['a','b','c','d','e']
for x,y in enumerate(list1):
    print(x+1,y)
'''
1 a
2 b
3 c
4 d
5 e
'''

in , ont in :成员判断

功能:判断元素是否存在

语法:

  • 元素 in 列表名
  • 元素 not in 列表名

示例:

a = ['a',2,'a','aaa','a',True]
print('b' in a)			# 字母 'b' 在列表 a 里吗?不在为:False
print('a' in a)			# 字母 'a' 在列表 a 里吗?在为:True

[ ] :切片

功能:获取单个元素,或一批元素。

语法:列表[下标] = 值

示例:

a = ['a',2,'a','aaa','a',True]
print(a[2])				# 查找第2个元素:'a'

a = ['a',2,'a','aaa','a',True]
print(a[2:])				# 查找第2个之后所有元素:['a', 'aaa', 'a', True]

计:第5类操作

某元素数量:.count(元素)

功能:统计某元素的个数

语法:列表.count(元素)

示例:

a = [2,True,'aaa',3,True]
x = a.count(True)
print(x)				# 有2个 True 元素

列表元素总数:len(列表)

功能:统计列表总共有多少元素

语法:len(列表)

示例:

a = [2,True,'aaa',3,True]
x = len(a)
print(x)			# 共有 5 个元素

示列表求和:sum( )

示例:

a = list(range(10))
print(a)						# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(sum(a))		# 和是:45

序:第6类操作

. sort( ):排序

功能:指定数据排序,原位排序,不产生新的列表

语法:列表 . sort ( key = 函数[参数] , reverse = [ False | True ] )

reverse:

  • False:从小到大,【默认】
  • True:从大小

示例:

a = [40,10,30,20,50,60]
a.sort()
print(a)		# [10, 20, 30, 40, 50, 60]  升序


a = [40,10,30,20,50,60]
a.sort(reverse=True)
print(a)			# [60, 50, 40, 30, 20, 10] 降序

字母排序:

list1 = ['a','A','B','b','c']
list1.sort()
print(list1)		# ['A', 'B', 'a', 'b', 'c'] 先大写再小写,再排序
list1 = ['a','A','B','b','c']
list1.sort(key=str.lower)
print(list1)		# ['a', 'A', 'B', 'b', 'c']  忽略字母大小写:

内置函数sorted():

功能:列表排序,产生新的列表

语法:sorted(列表 [ , reverse = True | False ] )

示例:

a = [40,10,30,20,50,60]
b = sorted(a)
print(a)		# [40, 10, 30, 20, 50, 60]  原数据
print(b)		# [10, 20, 30, 40, 50, 60]	升序后,默认:升序
a = [40,10,30,20,50,60]
b = sorted(a,reverse=True)
print(a,id(a))		# [40, 10, 30, 20, 50, 60] 2638186008832  原数据及地址标识
print(b,id(b))		# [60, 50, 40, 30, 20, 10] 2638186010816	降序后地址标识变化

图示总结:

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言