列表解析式习题和获取26个字母方法

Posted alrenn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表解析式习题和获取26个字母方法相关的知识,希望对你有一定的参考价值。

返回1-10平方的列表

[i ** 2 for i in range(1,11)] 

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

有一个列表[1,4,9,16,2,5,10,15]生成一个新的列表,要求新的列表是lst相邻2个元素之和

lst = [1,4,9,16,2,5,10,15]
[lst[i] + lst[i+1] for i in range(len(lst) - 1)]

 

打印九九乘法表

[print("{} * {} = {} {}".format(j,i,i*j,"
" if i == j else  ),end=‘‘) for i in range(1,10) for j in range(1,i+1)]

技术图片

 

 

 

print("
".join([ .join(["{} * {} = {:<2}".format(j,i,i*j) for j in range(1,i+1)])  for i in range(1,10) ]))

技术图片

 

 

 获取26个字母的方法

使用string模块

import string

alpha = string.ascii_lowercase
print(alpha)  #abcdefghijklmnopqrstuvwxyz

使用chr()函数

"".join(chr(i) for i in range(97,123))

使用内嵌函数bytes()

bytes((i for i in range(97,123))).decode()

bytes(range(97,123)).decode()

 

生成ID

"0001.dfafdedeff"是ID的格式,要求ID格式是点分隔,左边是4位从1开始,后边是10位随机的字母,生成10个

import string
import random
#生成随机的10个字母
"".join(random.choices(bytes(range(97,123)).decode(),k=10))
"".join(random.choice(bytes(range(97,123)).decode()) for _ in range(10))
"".join(random.sample(bytes(range(97,123)).decode(),k=10))

#生成26个字母
"".join(chr(i) for i in range(97,123)) 
string.ascii_lowercase
"".join(bytes(range(97,123)).decode())


#生成随机的10个字母

"".join(random.choices("".join(chr(i) for i in range(97,123)),k=10))
"".join(random.sample(bytes(range(97,123)).decode(),k=10))
"".join(random.choice(string.ascii_lowercase) for i in range(10))

 

"0001.dfafdedeff"是ID的格式,要求ID格式是点分隔,左边是4位从1开始,后边是10位随机的字母,生成10个

["{:04}.{}".format(i,"".join(random.choice(string.ascii_lowercase) for i in range(10))) for i in range(1,10)]

技术图片

 

 

把如上生成随机的10个字母替换到format第二个参数位置即可。

 

以上是关于列表解析式习题和获取26个字母方法的主要内容,如果未能解决你的问题,请参考以下文章

列表解析式

Java基础50道经典练习题(26)——求星期

Java基础50道经典练习题(26)——求星期

web代码片段

12 练习题:生成器 列表推导式 内置函数Ⅰ

python生成26个字母的列表