Python课堂笔记——list进阶

list索引、切片

与字符串类似,从左往右正序读取,索引从0开始;若从右往左倒序读取,索引从-1开始。
切片:列表[start: end: step],默认截取方向为从左往右。
start(起始):默认值为0
end(结束):默认值为字符串最后一个元素
step(步长):默认值为1;若是负值,截取方向从右往左

常用函数

添加新元素

append

list1.append(‘g’),在list末尾添加元素

insert

list1.insert(2, ‘g’),在list中指定位置添加元素。若指定的下标不存在,则在末尾添加。

合并list

list1.extend(list2),将list2内容加在list1末尾,list2不改变。
list1 + list2,新生成一个列表存储结果,list1与list2不改变。

计数功能

list1.count(‘a’),显示设定元素在列表中的个数。

查找功能

list1.index(‘a’),返回左起第一个指定元素的索引,找不到报错。

删除元素

pop

弹出指定元素,并将其从列表中删除。若不指定,默认为最后一个元素。

remove

将列表中第一个指定元素删除,不返回值。

列表生成式

列表每一项+1

list_1 = [1,2,3,4,5]
[n+1 for n in list_1]

1-10的平方

[(n+1)**2 for n in range(10)]
[str((n+1)**2) for n in range(10)]		#1-10之间所有数的平方构成字符串列表

列表每一项加前缀

list1 = ['a','b','c','d','a','f']
['app_%s'%n for n in list1]
[f'app_{n}' for n in list1]

列表中的每一个偶数项【过滤】

list_1 = [1,2,3,4,5]
[n for n in list_1 if n%2==0]

两个list的交集

[i for i in list_A if i in list_B]

生成器

#第一种方法:类似列表生成式
g = (x * x for x in range(10))
next(g)
for n in g:
	print(n)

#第二种方法:基于函数
def factor(max_num):		#带yield的函数是生成器,而不是函数了
	...
	yield n
g = factor(100)
next(g)

在调动next的时候,生成器不会从factor函数的开始执行,从上一步停止的地方继续执行,遇到yield后,返回要生成的数,此步就结束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值