Python 语法糖之「列表推导式」

有时候一些普遍的设计模式应用得非常广泛,慢慢的就形成了一种语法,或者叫 语法糖,Python 中的列表推导式 就是其中的典型代表。列表推导式是一种可以让代码更简洁,并且可以增加可读性和执行效率的方法,但是要掌握好这个语法则有些难。

下面就带你好好认识下 列表推导式,学完之后你就知道这个语法糖有多「甜」。

1 从一个例子开始

事情的起因是这样的,在交流群里,一个小伙伴问如何把下面这种数据:

[{
  'city': '北京北京', 'max_temp': '35', 'min_temp': '23'}, 
{
  'city': '北京海淀', 'max_temp': '36', 'min_temp': '23'}]

转换成这种:

[('北京北京', '35'), ('北京海淀', '36')]

即把一个 dict 组成的 list,从中抽取目标数据,转换成另外一个 list。

部分人的第一想法就是用 for 循环遍历 list,对每个元素进行处理:

old_list = [{
  'city': '北京北京', 'max_temp': '35', 'min_temp': '23'}, {
  'city': '北京海淀', 'max_temp': '36', 'min_temp': '23'}]
new_list = []
for item in old_list:
    new_list.append((item['city']
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值