Python一行代码产生所有字母 列表推导 面试题

Python 一行代码产生所有字母 列表推导式 面试题

考查基本知识&灵活应变能力

怎么推导?

# 内部的语句满足条件执行,当然你可以不写if
# 关于变量随意,这里x
[含x一条语句 for x in 可迭代数据  if  执行语句并保留结果的条件   ]

# 如下你还可以对语句结果做各种处理,最终放在列表里
[{含x一条语句} for x in 可迭代数据  if  执行语句并保留结果的条件   ]
【out】[{语句结果},{语句结果},{语句结果}...]

# 上边例子结果是集合最终作为列表元素
# 你甚至可以这么玩!
[print(含x一条语句) for x in 可迭代数据  if  执行语句并保留结果的条件   ]
【out】
打印语句结果
打印语句结果
打印语句结果
...
[None,None,None,None,None,...]  # print() 返回值None作为列表元素

# 充分体会:1.语句会执行 2.语句结果作为列表元素

回到问题

你需要知道 ord(),chr()

	'a' 97 --->z 【懒得算啦】ord('z')
	
	'A' ord('A')【懒得算啦】--->【懒得算啦】ord('Z')
	
	[重点]:   'a' ASCII码 大于所有大写字母
			  大小写字母中ASCII码最大是 'z'
			  大小写字母中ASCII码最小是 'A'
			  我们并不知道大小写字母ASCII之间是否还有别的特殊符号
			  【有!】
			  
   '我是字符串'.isalpha()  -->True  # 返回布尔值 是否为A~z or 中文

所有字母的ASCII码顺序
从小到大 A~Z- a~z

##练习起来宝贝
【in】

// 用一哈列表推导式
//  range(200) 解释下为何在这个范围,只要保证产生的数字>= 'z'122就好
//PS:range(99999999999)~无所谓

 [chr(x) for x in range(200) if x <= ord("z") and x >= ord("A") and chr(x).isalpha()]

【out】

['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

多练习几次,就会彻底掌握推导式

如果帮助到了你,希望鼓励一下我,给我个(๑•̀ㅂ•́)و✧

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值