map filter zip format

1。map:

例一:直接调用map,是一个生成器,只有循环的时候才会调用。所以得转化为list
import os
dir_names=['aa','bb','cc']
def maker(dir_name):
  if not os.path.isdir(dir_name):
    os.mkdir(dir_name)
    return True
res=map(maker,dir_names)    #map的用法,括号里填函数和参数组,直接调用函数
print(res)    #res是一个生成器,结果是map object at 0x1039b75c0>,一个map对象的内存地址
for i in res:
  print(i)    #对生成器进行循环的时候,才会每次循环就按照代码规则生成一个数据,节省内存,但每次都要计算,增加了cpu的计算时间
list(res)    #转换为list,变成一个列表,用空间换时间,多了内存,创建了3个文件夹


2。filter:过滤的意思。把函数处理结果为假的数据过滤掉

例二:
def my(num):
  if num%2==0:
    return True
res=list(filter(my,range(10)))    #filter是只保留函数返回为真的参数值,并不返回函数代码逻辑的结果
print(res)    #结果是[0, 2, 4, 6, 8]
res2=list(map(my,range(10)))      #map就是按照代码逻辑打印出每一个结果
print(res2)    #结果是[True, None, True, None, True, None, True, None, True, None]

3.字符串格式化format:

1:'欢迎{name},今天的日期是{today}'.format(name='宁宁',today=datetime.datetime.today())
2:''.format_map(dic) #format_map里传字典

4.zip() #压缩列表

stus=['aa','bb','cc']
sex=['nan','nv','nv']
age=[20,18,30]
for a,b,c in zip(stus,sex,age): #不压缩列表的话,会报错
  print(a,b,c)

posted @ 2020-07-20 17:59  hesperid  阅读(86)  评论(0编辑  收藏  举报