关于列表解析式的习题应用。

关于列表解析式的习题应用

一、返回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)]

效果如下:




猜你喜欢

转载自blog.csdn.net/yzzsjc2008/article/details/79851720