Python第二章 第二周笔记

Python第二章 第二周笔记
在这里插入图片描述
在这里插入图片描述

列表元素的创建和删除
a_list=[‘a’,‘p’,‘p’,‘l’,‘e’,‘zxt’]

列表元素的添加

+运算符 操作较慢,尽量不使用
a=[1,2,3]
list=a+[7]
print(list)

使用列表对象 append()方法
推荐使用 原地修改 尾部添加
list.append(8)
print(list)

使用列表对象的extend()方法
将另一个迭代对象的所有元素添加至该列表尾部 原地操作
list.extend([0,2])
print(list)

使用列表对象insert()方法将元素添加至指定位置 原地操作
list.insert(3,6) #物理序号为3的位置添加6
print(list)

列表元素的删除

del命令 删除指定位置上的元素
del list[0] #删除物理序号为0的位置的元素
print(list)

pop()方法删除并返回指定位置上的元素,默认为最后一个 超出范围会抛出异常
list.pop() #默认删除并返回最后一个元素
print(list)
list.pop(0) #删除物理序号为0的位置的元素
print(list)

使用列表对象的remove()方法删除首次出现的指定元素 不存在则抛出异常
list=[0,1,2,3,7,5,6,7]
list.remove(7) #删除第一个值为7的元素
print(list)

删除重复元素 循环+remove() 或者 循环+del
删除重复元素1
方法1:正着删除1
x=[1,2,1,2,1,1,1]
for i in x[::]:
print(i)
if i==1:
x.remove(i)
print(x)

print(’\n’)

方法2:倒着删除1
x=[1,2,1,2,1,1,1]
for i in range(len(x)-1,-1,-1):
print(i)
if x[i]==1:
del x[i]
print(x)
any函数:any(x),只要x中有一个不为空,0,false就返回True,否则返回False。all(x)函数必须x中的所有元素均不为空,0,false才会返回True,否则返回False。

优先级:not>and>or
and:在Python中, x and y,当x为True时,返回y值,当x值为False时,则返回x的值
or:在Python中, x or y, 当x为True时,返回x的值,当x值为False时,返回y的值

使用列表对象的index()方法获取指定元素首次出现的下标
语法 index(value,[start,[stop]])
指定搜索范围 start默认为0 stop默认为列表长度 不存在则抛出异常
list=[0,1,2,3,7,5,6,7]
print(list.index(7))

用count()统计指定元素出现的次数
print(list.count(7))

切片操作 [start:stop:step] 左闭右开[ )
第一个数字表示切片起始位置 默认为0,
第二个数字表示切片截止的位置(但不包含)
这里的步长指的是物理序号 默认为1
切片操作不会因为下标越界而抛出异常而是返回一个空列表 具有较强的健壮性
list=[1,2,3,5,6,7,9,17,19]
print(list[::]) #输出全列表
print(list[::-1]) #步长为负数,从右边往左切
print(list[::2]) #隔一个元素取一个元素

list=[1,2,3,4,5,6]
list[len(list):]=[0] #在尾部追加元素
print(list)

list[0:3]=[0,0,0] #替换前三个元素为0,0,0
print(list)

list[:3]=[] #删除前三个元素
print(list)

结合del命令与切片操作来删除列表的部分元素
list=[1,2,3,4,5,6]
del list[:3]
print(list)

sort()方法进行原地排序 没有返回值或者返回值None
list=[1,2,3,4,5,6]
import random
random.shuffle(list) #随机打乱顺序
print(list)
list.sort() #默认为升序
print(list)
list.sort(reverse=True) #降序排列
print(list)

使用内置函数sorted()对列表进行排序
内置函数返回的是新列表,对愿列表不做任何修改
alist=[0,3,5,7,2,4,1]
sorted(alist) #默认升序
print(alist)
sorted(alist,reverse=True) #降序排列
print(alist)

匿名函数lambda:
是指一类无需定义标识符(函数名)的函数或子程序。所谓匿名函数,通俗地说就是没有名字的函数,lambda函数没有名字,是一种简单的、在同一行中定义函数的方法。
lambda函数一般功能简单:单行expression决定了lambda函数不可能完成复杂的逻辑,只能完成非常简单的功能。由于其实现的功能一目了然,甚至不需要专门的名字来说明。
lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。

lambda表达式只允许包含一个表达式,不能包含复杂语句,该表达式的运算结果就是函数的返回值。
lambda函数实际生成了一个lambda对象。lambda表达式的基本语法如下:
lambda arg1,arg2,arg3… :<表达式>
arg1/arg2/arg3为函数的参数(函数输入),表达式相当于函数体,运算结果是表达式的运算结果。

例如:
lambda x, y: xy;函数输入是x和y,输出是它们的积xy
lambda:None;函数没有输入参数,输出是None
lambda args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性要求是输入参数必须能够进行加法运算)
lambda **kwargs: 1;输入是任意键值对参数,输出是1
#测试lambda函数
f=lambda a,b,c,d:a
bcd
print(f(1,2,3,4)) #相当于下面这个函数
def test01(a,b,c,d):
return abcd
print(test01(1,2,3,4))
g=[lambda a:a
2,lambda b:b*3]
print(g0) #调用print(g1)

any函数:any(x),只要x中有一个不为空,0,false就返回True,否则返回False。all(x)函数必须x中的所有元素均不为空,0,false才会返回True,否则返回False。
优先级:not>and>or

and:在Python中, x and y,当x为True时,返回y值,当x值为False时,则返回x的值
or:在Python中, x or y, 当x为True时,返回x的值,当x值为False时,返回y的值

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值