关于列表解析式的习题应用
一、返回1-10的平方的列表。
代码如下:
[i**2 for i in range(1,11)]
效果如下:
二、有一个列表:lst=【1、4、9、16、2、5、10、15】,生成一个新列表,要求新列表元素是lst相邻2项的和。
代码如下:
#二、有一个列表:lst=【1、4、9、16、2、5、10、15】, #生成一个新列表,要求新列表元素是lst相邻2项的和。 #【传统代码】 # lst = [1,4,9,16,2,5,10,15] # i=len(lst)-1 # lstb = [] # for a in range(i): # s = lst[a]+lst[a+1] # lstb.append(s) # print(lstb) #【列表代码】 lst = [1,4,9,16,2,5,10,15] [lst[i]+lst[i+1] for i in range(len(lst)-1) ]
效果如下:
三、列表打印九九乘法表。
代码如下:
#三、列表打印九九乘法表。 #【传统代码】 # for i in range(1,10): # for j in range(1,i+1): # if i == j: # print("{}*{}={} ".format(i,j,i*j),end='\n') # else: # print("{}*{}={} ".format(i,j,i*j),end=' ') #【列表代码】 [print('{}*{}={:<3}{}'.format(j,i,i*j,'\n'if i == j else ' '),end = '') for i in range(1,10) for j in range(1,i+1)] #【打印列表】 # print("".join(['{}*{}={:<2} {}'.format(a,i,a*i, ' \n'if i==a else ' ') for i in range(1,10) for a in range(1,i+1)]))
效果如下:
四、生成ID:要求:“0001.abacieddws"是ID格式,要求ID要以.分割是4位,从1开头的整数,右边是10位随机小写英文字母,请依次生成前100个ID的列表。
代码如下:
#四、生成ID:要求:“0001.abacieddws"是ID格式, #要求:ID要以.分割是4位,从1开头的整数, #要求:右边是10位随机小写英文字母,请依次生成前100个ID的列表。【三种实现代码】 import random import string # ['{:04}.{}'.format(n,''.join([random.choice(bytes(range(97,123)).decode()) for _ in range(10)])) for n in range(1,101)] # ['{:04}.{}'.format(i,''.join([chr(random.randint(97,122))for j in range(10)]))for i in range(1,101)] ['{:04}.{}'.format(i,''.join(random.choice(string.ascii_lowercase) for _ in range(0,10))) for i in range(1,101)]
效果如下: