例一:直接调用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个文件夹
例二:
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]
1:‘欢迎{name},今天的日期是{today}‘.format(name=‘宁宁‘,today=datetime.datetime.today())
2:‘‘.format_map(dic) #format_map里传字典
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)
原文:https://www.cnblogs.com/hesperid/p/13346455.html