ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-04-07 22:02:52  阅读:204  来源: 互联网

标签:10 26 join random 列表 range 123 习题 97


返回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,"\n" if i == j else ' '),end='') for i in range(1,10) for j in range(1,i+1)]

 

 

 

print("\n".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第二个参数位置即可。

 

标签:10,26,join,random,列表,range,123,习题,97
来源: https://www.cnblogs.com/alrenn/p/12656465.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有