集合推导式
集合推导式的基本格式为:
{ expression for item in Sequence } 或 { expression for item in Sequence if conditional }
计算数字 1,2,3,4,5 的立方数:
实例:
set_new = {i**3 for i in (1,2,3,4,5)}
set_new
执行结果为:
{1, 8, 27, 64, 125}
判断不是abc的字母并输出:
实例:
warriors_curry = {x for x in 'abracadabrabcdcddbergtydscdfgsc' if x not in 'abc'}
print(warriors_curry)
type(warriors_curry)
执行结果为:
{'t', 'r', 's', 'f', 'e', 'd', 'y', 'g'}
set
元组推导式(生成器表达式)
元组推导式可以利用range区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的元组。
元组推导式基本格式:
(expression for item in Sequence ) 或 (expression for item in Sequence if conditional )
元组推导式和列表推导式的用法也完全相同,只是元组推导式是用()圆括号将各部分括起来,而列表推导式用的是中括号 [ ] ,另外元组推导式返回的结果是一个生成器对象。
像下面的例子,我们可以使用这样的代码生成一个包含数字1~20的元组:
实例:
warriors_curry = (x for x in range(1,20))
print(warriors_curry) # 返回的是生成器对象
tuple(warriors_curry) # 使用 tuple() 函数,可以直接将生成器对象转换成元组
执行结果为:
<generator object <genexpr> at 0x000001E31FC53318>
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
在下面的例子中,我们是用if-else这种语法格式,如果列表中的元素的首字母是 'c' ,将 'c' 转换为 'C' ,其他如果不是 'c' ,则将全部的字母都转换成大写的。
语法格式:
结果值1 if 判断条件 else 结果2 for 变量名 in 原列表
实例:
nba_warriors = ['curry','durant','creen','thompson','wiggins','wiseman']
new_warrior = [word.title() if word.startswith('c') else word.upper() for word in nba_warriors]
print(new_warrior)
执行结果为:
['Curry', 'DURANT', 'Creen', 'THOMPSON', 'WIGGINS', 'WISEMAN']
本次的分享到此结束,老铁们可以点赞收藏一下哈,方便以后及时复习,没有关注的老铁关注一下,以后会不断更新。学习Python与大数据的路上,小小白与你同行,我们一起加油,有什么问题或者是感受也可以在评论区打出来,我们一起交流一下,共同进步。
2023,新的一年,新的起点,扬帆起航,共创辉煌,加油吧老铁们!