2021-03-23

Python第三周知识笔记

第一部分:前情回顾
在上一次的实验内容上,发现了没注意到的内容,现在进行一些总结:
*进制转换

hex(x):返回整数x的十六进制形式
int(x[,d]):返回实数x的整数部分,或把字符串x看作d进制数并转换为十进制,d默认为10
oct(x):返回整数x的八进制串形式
例:进制转换,输入8位二进制数,分别将其转换为八进制、十进制、十六进制输出。
#二转八
a=input(“请输入一个八位二进制数:”)
print(oct(int(a,2)))
#二转十
b=input(“请输入一个八位二进制数:”)
print(int(b,2))
#二转十六
c=input(“请输入一个八位二进制数:”)
print(hex(int(c,2)))

*随机列表的升序降序
使用import random导入随机数:
random.random() #获得[0,1)上的随机小数
Random.randint(1,50) #获得[1,50]区间上的随机整数
例:编写程序,生成20个随机数的列表,然后前10个元素升序排列,后10个元素降序排列,并输出结果。
import random
a=[random.randint(1,50) for i in range(20)]
print(a)
a[:10]=sorted(a[:10])
a[10:20]=sorted(a[10:20],reverse=True)
print(a)
***使用split(‘,’) #将字符串以,作为分隔符进行分割,获得输入的元素

第二部分:课堂内容笔记
一:列表元素的访问与计数
1.使用下标直接来访问列表元素:
alist=[3,4,5,6,7,9,11,13,15,17]
alist[3] #访问元素

->6

alist[3]=5.5 #修改元素

2.使用index()方法获取元素首次出现的下标:
alist.index(7)

  ->4

3.使用count()方法统计元素出现次数:
alist.count(7)

->1
此方法也可用于元组,字符串及range对象。

二:成员资格判断:
1.count()方法:有此元素则返回大于0的数,无则返回0
2.用in关键字判断:有此元素则返回True,无则返回False
3 in alist
->True
关键字in和not in也可用于其他可迭代对象

三:列表排序与逆序
1.sort()方法进行原地排序,默认为升序,加入条件reverse=True则表示降序
2.内置函数sorted()对列表排序,返回一个新列表,不对原列表修改
3.reverse()方法将所有元素逆序,内置函数reverse()不对列表修改,而是返回一个逆序排列后的迭代对象

四:用于序列操作的常用内置函数
all() 和any():all() 函数用来测试列表、元组等序列对象以及map对象、zip对象等类似对象中是否所有元素都等于True,any() 函数用来测试序列或可迭代对象中是否存在等价于True的元素。
len(列表):返回列表中的元素个数,同样适用于元组、字典、集合、字符串、range对象。
max(列表) 、min(列表):返回列表中的最大或最小元素,同样适用于元组、字符串、集合、range对象、字典等,要求所有元素之间可以进行大小比较。这两个函数支持使用key参数指定排序规则。
sum(列表):对数值型列表的元素进行求和运算,对非数值型列表运算则需要指定第二个参数,同样适用于元组、集合、range对象、字典以及map对象、filter对象等。
zip(列表1,列表2,…):将多个列表或元组对应位置的元素组合为元组,并返回包含这些元组的zip对象。
enumerate(列表):枚举列表、字典、元组或字符串中的元素,返回枚举对象,枚举对象中每个元素是包含下标和元素值的元组。该函数对字符串、字典同样有效

五:列表推导式
列表推导式语法形式为[exp for variable in iterable if condition]。
列表推导式使用非常简洁的方式来快速生成满足特定需求的列表。
例如:

alist=[xx for x in range(10)]
#相当于
alist=[]
for x in range(10):
alist. append(x
x)

实现嵌套列表的平铺。
过滤不符合条件的元素。(在列表推导式中可以使用if子句来筛选,只在列表中保留符合条件的元素。)
在列表推导式中使用多个循环。
实现矩阵转置。(还可使用内置函数实现矩阵转置)
可以使用函数或复杂表达式。
支持文件对象迭代。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值