python题目

1.简述map,reduce两个内置函数的作用
map()函数是python内置的高阶函数,它要接收一个函数f和一个list,并通过函数f依次作用在list的每一个元素上,得到一个新的list并返回。
reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
使用:
def f(x):
return x*x
print(list(map(f,[1,2,3,4,5])))
map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。
补充:
Python惰性序列
Python的惰性序列多数指iterator,其特点正如同上文所述,具有惰性计算特点的序列称为惰性序列。
Python的iterator是一个惰性序列,意思是表达式和变量绑定(比如:调用iter()得到了一个iterator并赋值给一个变量)后不会立即进行求值,而是当你用到其中某些元素的时候才去求某元素对的值(比如next()访问到某元素才去实际计算某元素的值)。
惰性是指,你不主动去遍历它,就不会计算其中元素的值。
有什么意义?
一是这样我们就可以实现的无限序列的表示,比如全部的自然数(无穷尽),而不需要真的在内存中计算出所有的自然数(那根本不可能,因为内存也不是无限的),而是需要哪个数,计算到哪个数,或者需要哪些数,计算到那些数(比如前1000个)。
二是在大规模数据处理中起到延迟计算的作用。当你处理大规模数据时,一次性进行处理往往是不方便的。而惰性序列就可以解决这个问题,它把计算的步骤延迟到了要实际使用该数据的时候。
惰性序列可以看作是一个”流”,需要的时候从其中取一滴水。
from functools import reduce
def f(a,b):
return a + b
print(reduce(f,[1,2,3,4,5]))

2.使用一行代码反转一个列表
a = [1,2,3,4]
a.reverse()
print(a)

3.字典key 和 value排序并输出

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 包(lib)、模块(module) 在Python中,存在包和模块两个常见概念。 模块:编写Python代码的py...
    清清子衿木子水心阅读 3,834评论 0 27
  • 若想技术精进,当然得把基础知识打得牢牢的。 廖雪峰的官方网站 python3教程,该网站提供的教程浅显易懂,还附带...
    布口袋_天晴了阅读 480评论 0 1
  • 文/北府涵 如果给我一座房子,在我的村庄,那会是一个奇妙的去处。夏天看门前翠绿葱葱,冬天看窗前白雪皑皑。房子不大,...
    北府涵阅读 267评论 2 6
  • 随笔:王先生 王先生为人和善,穷是穷了点,但是对兄弟们那不是一般的好。 时至今天,高一耍剩下的就三个人。 其中一位...
    停格freeze阅读 660评论 3 1