c语言sscanf函数的用法是什么
251
2022-09-18
初学者python笔记(内置函数_2)
这篇初学者笔记是接着上一篇初学者python笔记(内置函数_1)的。同样都是介绍Python中那些常用内置函数的。
max()和min()的高级用法
我们都知道,max():取最大值,min():取最小值,返回值就是那个最值。 其实,它还有一些更高级的用法和细节,他们主要用在字典的键值对上
比较键值对中的value或key
{'age1':17,'age4':19,'age233333':30,'age3':35} #因为字典无序,所有随便排print(max(age_dic.values())) #比较四个键值对中的值哪个最大print(max(age_dic))#比较键值对,就是比较key,因为是字符串,所以比较的是他们的ASCII码值大小,#并且是一位字符一位字符的比较,当比较都第四位的时候,4大于2已经分出结果了,所以'age233333'
运行结果: 35 age4
实现即比较了value,又输出对应的key
age_dic = {'Big':12,'Small':25,'Ross':30,'Ruby':10} #比较值的大小后交换键值对位置print(list(max(zip(age_dic.values(),age_dic.keys()))))#用zip函数组合成一个个元组,再List变成列表,最终会输出年龄最大的那个人的数据
运行结果: [30, ‘Ross’]
多个可迭代对象,默认从第一个元素开始比较
ok = [ (5,'d'), (2,'g'), (3,'k'), (1,'p') ]ok2 = ['a10','b15','c30']print(list(max(ok)))print(list(max(ok2)))#ok2中的的多个可迭代对象就是多个字符串,所以比较的每个元素就是字符
运行结果: [5, ‘d’] [‘c’, ‘3’, ‘0’]
找到最大的年龄,并输出对应的全部信息
people = [ {'name':'alex', 'age':22}, {'name':'阿修罗', 'age':1000}, {'name':'鬼斩', 'age':657}, {'name':'二刚', 'age':89} ]print(max(people,key=lambda dic:dic['age']))#max的第一个参数是进行比较的那个容器,要比较的是'age'的value#所以定义匿名函数比较'age'的值
运行结果: {‘name’: ‘阿修罗’, ‘age’: 1000}
简单运算函数
ord(): 显示某个元素的ASCII码大小pow(): 次方函数,第三个参数是取余运算,如:print(pow(3,3,2)) #就是输出3的3次方再对2取余的结果round(): 四舍五入函数,将数四舍五入set(): 将可迭代对象中的元素组成一个集合
reversed()与slice()函数
reversed(): 反转对象中的元素slice(): 制作一个切片
s = [1,2,3,4]print(list(reversed(s))) #反转后是一个迭代器,需要list以列表形式输出print(s) #上面只是调用函数操作s传入的值,但不会改变s的原有数据v = 'hello'vv = slice(3,5) #位置是3<= <5的一个切片,切片是按索引来算的,可以从0开始取print(v[vv]) #就相当于print(v[3:5])v = 'hello'v2 = slice(0,5,2) #设置切片的步长为2,从0到5,每2个取一个print(v[v2])
运行结果: [4, 3, 2, 1] [1, 2, 3, 4] lo hlo
sorted()函数的特殊用法
sorted(): 将对象中的元素从小到大排序
简单排序
people = [ {'name':'alex', 'age':22}, {'name':'阿修罗', 'age':1000}, {'name':'鬼斩', 'age':657}, {'name':'二刚', 'age':89} ]print(sorted(people,key=lambda dic:dic['age'])) #按年龄进行排序
运行结果: [{‘name’: ‘alex’, ‘age’: 22}, {‘name’: ‘二刚’, ‘age’: 89}, {‘name’: ‘鬼斩’, ‘age’: 657}, {‘name’: ‘阿修罗’, ‘age’: 1000}]
对于不同的keys:
name = { '路飞':19, '乔巴':5, '乌索普':25 }print(sorted(name)) #只会比较keyprint(sorted(name,key=lambda key:name[key])) #按照年龄比较,返回keyprint(sorted(zip(name.values(),name.keys()))) #不止按年龄排序,还需要输出对应的名字#遍历name字典的每个key下的值,因为会返回整个容器,所以不需要list列表化
运行结果: [‘乌索普’, ‘乔巴’, ‘路飞’] [‘乔巴’, ‘路飞’, ‘乌索普’] [(5, ‘乔巴’), (19, ‘路飞’), (25, ‘乌索普’)]
type()、vars()、locals()函数
type(): 查看某元素的类型locals(): 打印局部变量vars(): 没有参数时和locals()一样;本质是查看某个对象下面所有的方法
def test(): msg = '没有你,我的生活将没有意义' print(locals()) print(vars())test()
运行结果: {‘msg’: ‘没有你,我的生活将没有意义’} {‘msg’: ‘没有你,我的生活将没有意义’}
不过,vars()函数的本质还是查看对象的方法:
print(vars(int))
这里的运行结果就是int()对象下的所有方法:
因为太多了,这里就只插张图吧
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~