python推导式

推导式可以快速生成一个列表、字典或其他需要的格式,还会减少代码量。

推导式的使用方法(以列表为例):

        1.推导式:
            a = [i for in xxx]
        2.推导式结合 if 条件进行过滤:
            a = [i for in xxx if 条件]
        3.推导式完整if:
            a = [ 条件成立的返回值 if 条件 else 条件不成立返回值  i for in xxx]

 1.普通推导式 

# -------------正常的写法-------------
a1 = []
for i in range(10):
    a1.append(i)
print(a1)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


# ---------使用推导式的写法-----------
a2 = [i for i in range(10)]
print(a2)  
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 快速生成0-9的列表

2.推导式结合 if 条件进行过滤

# -------------正常的for循环加if判断-----------------
a1 = []
for i in range(10):
    if i%2==0: # 偶数
        a1.append(i)
print(a1)
# [0, 2, 4, 6, 8]

# ----------推导式加if判断(加在for条件后面)----------
a2 = [i for i in range(10) if i%2==0]
print(a2)
# [0, 2, 4, 6, 8]

3.推导式完整if

2里只有if过滤一次,那么如果还有else的条件呢?

else直接写在a2中的if后面,会报错,并且没有条件返回值。

格式:

        a = [ 条件成立的返回值 if 条件 else 条件不成立返回值  i for in xxx]

# -------------正常的for循环加if else-----------------
a1 = []
for i in range(10):
    if i%2==0: # 偶数
        a1.append(f"我是偶数{i}")
    else:
        a1.append(f"我是奇数{i}")
print(a1)
# ['我是偶数0', '我是奇数1', '我是偶数2', '我是奇数3', '我是偶数4', '我是奇数5', '我是偶数6', '我是奇数7', '我是偶数8', '我是奇数9']

# ---------------------------------------------------
# if 前面 是满足了if条件的返回值
# else 后面 是不满足if的另一个返回值
a2 = [f"我是偶数{i}" if i%2==0 else f"我是奇数{i}" for i in range(10)]
print(a2)
# ['我是偶数0', '我是奇数1', '我是偶数2', '我是奇数3', '我是偶数4', '我是奇数5', '我是偶数6', '我是奇数7', '我是偶数8', '我是奇数9']

4.字典推导式

字典推导式也同理,语法相似。只是字典为key&value需要注意

list1 = ['a', 'b', 'c']
dict1 = {index: value for index, value in enumerate(list1)}
print(dict1)  
# {0: 'a', 1: 'b', 2: 'c'}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python推导是一种简洁的语法糖,可以从一个数据序列构建另一个新的数据序列。常见的推导包括列表推导、字典推导和集合推导。列表推导可以通过对一个列表进行迭代和筛选操作,生成一个新的列表。字典推导可以通过对一个字典进行迭代操作,生成一个新的字典。而集合推导则可以通过对一个集合进行迭代和筛选操作,生成一个新的集合。推导在数据处理场景中非常常见,并可以大大简化代码的编写和阅读。如果你想了解更多关于推导的语法和用法,请参考引用和引用中提供的链接。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python推导简单示例【列表推导、字典推导与集合推导】](https://download.csdn.net/download/weixin_38708361/12865890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python推导](https://blog.csdn.net/iprobobo/article/details/123582135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值