#1.列表生成式
#2.列表生成器
#3.三元表达式
#4.循环二维数组
#5.函数入参声明
import random red_num=random.sample(range(1,34),6) new_num=[] #for num in red_num:#list循环 # tmp=str(num).zfill(2)#补零 # new_num.append(tmp)#放到新的List中 new_num=[str(num).zfill(2) for num in red_num]#列表生成式, 直接循环补零并放到新的List中 print(new_num) l=[i for i in range(1,11,2)]#生成100以内的奇数, 每次for循环取到的i放到list里 print(l)#[1,3,5,7,9] #列表生产式生成一个list,它把所有元素放在内存中。以空间换时间,内存占用大,但是不用再计算省cpu
#2.列表生成器
l1 = (i for i in range(1,11,2))#生成器 print(l1) #结果是:<generator object <genexpr> at 0x0000000000689E08> for i in l1: print(i)#结果是:1 3 5 7 9generator生成器比list节省内存,生成器每次循环时,根据计算规则算出一个元素,放到内存里面
#3.三元表达式
a=5 b=4 c=a if a>b else b#如果a>b,则c=a,否则, c=b print(c)
#4.循环二维数组
d={'a':5,'c':3,'b':2} d.items()#返回二维数组dict_items([('c', 3), ('a', 5), ('b', 2)]) res_key=sorted(d.items())#对字典的key排序,结果是二维list[('a', 5), ('b', 2), ('c', 3)] print(res_key) res_value=sorted(d.items(),key=lambda x:x[1])#对字典的value排序,结果是二维list[('b', 2), ('c', 3), ('a', 5)] print(res_value) for k,v in res_value:#循环res_value中的每一个元素 print(k,v) l=[ [1,2,3,4], [5,6,7,8], ['a','b','c','d'] ] for a,b,c,d in l:#循环二维数组 print(a,b,c,d)#打印二维数组每个元素中的子元素
#5.函数入参声明
def is_float(a:str):#指定传入的a参数是str, 但不是强制的 print(a) is_float('我')#打印'我' is_float(['123','123'])#打印['123','123'],说明入参list也不影响程序运行