Python 推导式 - 1

Python的推导式是一种特殊的数据处理方式,是可以从一个数据序列构建另一个新的数据序列的结构体。

Python支持各种数据结构的推导式:

  • 列表(list)推导式
  • 字典(dict)推导式
  • 集合(set)推导式
  • 元组(tuple)推导式

列表推导式

列表推导式的格式如下:

[表达式 for 变量 in 列表] 
[out_exp_res for out_exp in input_list]

或者 

[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
  • out_exp_res:列表生成元素表达式,可以是有返回值的函数。
  • for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
  • if condition:条件语句,可以过滤列表中不符合条件的值。

过滤掉长度小于或等于5的字符串列表,并将剩下的转换成大写字母:

实例:

nba_warriors = ['Curry','Durant','Green','Thompson','Wiggins','Wiseman']
new_warriors = [name.upper()for name in nba_warriors if len(name)>6]
print(new_warriors)

 执行结果为:

['THOMPSON', 'WIGGINS', 'WISEMAN']

 

计算100以内可以被4整除的整数:

实例:

num_range = [i for i in range(100) if i % 4 == 0]
print(num_range)

执行结果为:

[0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96]

 字典推导式

字典推导式的格式为:

{ key_expr: value_expr for value in collection }

或

{ key_expr: value_expr for value in collection if condition }

 

使用字符串和字符串长度创建字典:

nba_warriors = ['Curry','Durant','Green','Thompson','Wiggins','Wiseman']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
new_warriors = {key:len(key) for key in nba_warriors}
new_warriors

 执行结果为:

{'Curry': 5,
 'Durant': 6,
 'Green': 5,
 'Thompson': 8,
 'Wiggins': 7,
 'Wiseman': 7}

 

提供5个数字,以5个数字为键,5个数字的立方为值来创建字典:

实例:

dict = {x: x**3 for x in (1,2,3,4,5)}
print(dict)

type(dict)

执行结果为:

{1: 1, 2: 8, 3: 27, 4: 64, 5: 125}
dict

本次的分享到此结束,老铁们可以点赞收藏一下哈,方便以后及时复习,没有关注的老铁关注一下,以后会不断更新。学习Python与大数据的路上,小小白与你同行,我们一起加油,有什么问题或者是感受也可以在评论区打出来,我们一起交流一下,共同进步。

2023,新的一年,新的起点,扬帆起航,共创辉煌,加油吧老铁们!

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小白学大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值