推到式_列表

Posted caihuajiaoshou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推到式_列表相关的知识,希望对你有一定的参考价值。

通过一行循环循环判断, 遍历出一系列数据的方式

 1 """
 2 推导式语法:
 3    i for i in iterable
 4    
 5 通过迭代对象循环得出的i, 
 6 扔到左侧进行处理, 
 7 处理结束后放到容器中
 8 
 9 
10 执行流程:
11    从左向右, 
12    左边的循环是外循环, 右边的循环是内循环
13    进行右侧的条件判断后返回给最左边处理
14    左边可以是三目运算符
15    处理完毕后,放入容器进行返回
16 """

1.普通推导式

 1 # [1,2,3,4] => [2,8,24,64]
 2 listvar = [1, 2, 3, 4]
 3 
 4 res = [i << i for i in range(1, 5)]
 5 print(res)
 6 
 7 ‘‘‘
 8 li = []
 9 for i in range(1, 5):
10    li.append(i<<i)
11 print(li)
12 ‘‘‘

2.带有判断条件推导式

 1 # 最终值 + 推导式 + 单项分支
 2 # [1,2,3,4,5,6,7,8,9,10,11] => [2,4,6,8,10]
 3 listvar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
 4 
 5 li = [i for i in range(1, 12) if i % 2 == 0]
 6 print(li)
 7 
 8 ‘‘‘
 9 li = []
10 for i in range(1, 12):
11    if i % 2 == 0:
12       li.append(i)
13 
14 print(li)
15 ‘‘‘

3.多循环推导式

1 list1 = ["陈根基", "黄伟峰", "崔建伟", "陈鹏", "五月天"]
2 list2 = ["陈梦洁", "张包钱", "陈红萍", "五十辉", "李一凡"]
3 
4 li = [i + "?" + j for i in list1 for j in list2]
5 print(li)

4.带有判断条件的多循环推导式

 1 list1 = ["陈根基", "黄伟峰", "崔建伟", "陈鹏", "五月天"]
 2 list2 = ["陈梦洁", "张包钱", "陈红萍", "五十辉", "李一凡"]
 3 
 4 li = [i + j for i in list1 for j in list2 if list1.index(i) == list2.index(j)]
 5 print(li)
 6 
 7 ‘‘‘
 8 li = []
 9 for i in list1:
10    for j in list2:
11       if list1.index(i) == list2.index(j):
12          li.append((j, i))
13 
14 print(li)
15 ‘‘‘

 

以上是关于推到式_列表的主要内容,如果未能解决你的问题,请参考以下文章

推导式(列表, 集合, 字典), 生成器

python --012--推导式

好好学python · 你真的会列表吗(列表推导式质检员)

好好学python · 你真的会列表吗(列表推导式质检员)

编写高效且优雅的 PYTHON 代码

numpy