print('张颖', '张娜', '张梦', '张悦', end = ' ') # 以什么为结尾,默认是回车 # 张颖 张娜 张梦 张悦 print('张颖', '张娜', '张梦', '张悦', sep = '_') # 链接符,默认是空格 # 张颖_张娜_张梦_张悦
二、hash() 数字算出来就是数字自己,其余的数据类型算完依托很长的数字 函数
print (hash(12345)) # 12345 print(hash('你是谁')) # 1399596852175174770
def func(): print('as') an = '' print(callable(func)) # True print(callable(an)) # False
lis = ['中国','美国','日本'] # for i in range(lis): # print(i,lis[i]) # enumerate(iterable[, start]) -> iterator for index, value of iterable for i, el in enumerate(lis,1): print(i,el)
1三、all() any() spa
print(all([1, 3, 5, 'ha'])) # and print(any([1, False, None])) # or
1四、zip() # 拉链函数 水桶效应 code
lst1 = ["赵四", "刘能", "香秀"] lst2 = ["刘晓光", "王小利"] # 水桶效应 lst3 = ["街舞", "磕巴", "哭"] z = zip(lst1, lst2, lst3) print(list(z)) #[('赵四', '刘晓光', '街舞'), ('刘能', '王小利', '磕巴')]
fn = lambda a, b: a+b fn = fn(3, 4) print(fn)
lst = [34,56,78,32,12,34,90] print(sorted(lst))
# 按名字长度排序 names = ['张颖一','影','关谷神奇','阿苏','慕容东方晓'] def func(s): return len(s) # 返回长度 # 执行流程 # 把可迭代对象中的每一项拿出来,做为参数传递给后面的key函数 # 函数返回数字,根据数字进行排序 s = sorted(names,key=func) print(s) # ['影', '阿苏', '张颖一', '关谷神奇', '慕容东方晓'] # 另外一种方法 print(sorted(names,key=lambda s : len(s)))
names = ['张颖一','张影','关谷神奇','阿苏','慕容东方晓'] # 过滤掉姓张的人 # 把可迭代对象打开,把内部元素一个一个的传递给前面的函数,由这个函数决定此项是否保留 f = filter(lambda name : not name.startswith('张'),names) print("__iter__" in dir(f)) # 可迭代对象 for el in f: print(el)
def func(e): return e ** 2 lst = [2,45,67,32,6] mp = map(func,lst) print(mp) print(list(mp)) # 用lambda m = map(lambda i : i **2 , lst) print(list(m))
# 计算两个列表中相同位置的和 lst1 = [2,4,6,8,9] lst2 = [1,3,5,7,10] m = map(lambda x,y : x + y,lst1,lst2) print(list(m))
四、eval() 执行字符串类型的代码,并返回最终结果对象
print(eval("2+2")) # 4 n = 8 print(eval("2+n")) # 10 def func(): print(666) eval("func()") # 666
五、exec() 执行字符串类型的代码blog
exec(''' for i in range(10): print(i) ''')
code1 = "for i in range(10):print(i)" c1 = compile(code1,"",mode="exec") exec(c1) code2 = "1+4+8" c2 = compile(code2,"", mode="eval") a = eval(c2) print(a) code3 = "name = input('请输入你的名字:')" c3 = compile(code3,"", mode="single") exec(c3) print(exec(c3))
有返回值的字符串形式的代码用eval(),没有返回值的字符串形式的代码用exec(),通常不多用到compile() 排序