python基础篇 15-常用模块:random string sorted lambda函数
一、random
import os,random,sys,time,string print(random.randint(1,10)) # 产生随机的整数 print(random.uniform(1,10)) # 产生随机的小数 # print(random.choice(string.ascii_lowercase)) #随机选择一个元素 print(random.sample(string.ascii_lowercase,4)) #从小写字母中随机的取4个不重复的元素,返回list # l=[random.choice(string.digits) for _ in range(6)] #可能取到重复的元素 l2 = random.sample(string.digits,6) #取的这6个元素里面,它不会有重复的,返回list l = [1,2,3,4,5,6,7,8] print('打乱之前的',l) random.shuffle(l) #洗牌 打乱顺序,无返回值 print('打乱之后的',l)
二、sorted()函数
#字符串
s='235423236236' result = sorted(s,reverse=True) # 返回list 可以排序 string list类型,但是list有sort()函数,string没有,这样都可以使用sorted()函数 print(result) #字典 # 例子 给字典按照value排序 这个很重要! 很重要! 很重要! d = { 'lhy':88, 'ds':93, 'fd':100, 'hzy':35 } # 此方法 多层循环遍历 n*n浪费空间 4*4 需要循环16次 ,此方法最蠢 vs = sorted(d.values(),reverse=True) for v in vs: for key,value in d.items(): if v==value: print(key,v) new_d = dict(sorted(d.items())) # 默认按照key进行字典的排序 # 直接可以使用lambda代替 def get_value(x): return x[1] #d.items()返回的是二位数组,二位数组排序可以使用sorted()中key指定按照哪个key排序 result = sorted(d.items(),key=lambda x:x[0],reverse=True) # result = sorted(d.items(),key=get_value,reverse=True) print(dict(result))
三、lambda函数
常常结合 map filter reduce等高阶函数一起使用
def write_file(): pass a = lambda x,y:x+y # x,y作为入参,返回值为x+y 实现简单的函数 result = a(1,2) print(result) filter(lambda x:str(x),[1,2,3,4,5])