推到式_列表

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

"""
推导式语法:
   i for i in iterable
   
通过迭代对象循环得出的i, 
扔到左侧进行处理, 
处理结束后放到容器中


执行流程:
   从左向右, 
   左边的循环是外循环, 右边的循环是内循环
   进行右侧的条件判断后返回给最左边处理
   左边可以是三目运算符
   处理完毕后,放入容器进行返回
"""

1.普通推导式

# [1,2,3,4] => [2,8,24,64]
listvar = [1, 2, 3, 4]

res = [i << i for i in range(1, 5)]
print(res)

'''
li = []
for i in range(1, 5):
   li.append(i<<i)
print(li)
'''

2.带有判断条件推导式

# 最终值 + 推导式 + 单项分支
# [1,2,3,4,5,6,7,8,9,10,11] => [2,4,6,8,10]
listvar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

li = [i for i in range(1, 12) if i % 2 == 0]
print(li)

'''
li = []
for i in range(1, 12):
   if i % 2 == 0:
      li.append(i)

print(li)
'''

3.多循环推导式

list1 = ["陈根基", "黄伟峰", "崔建伟", "陈鹏", "五月天"]
list2 = ["陈梦洁", "张包钱", "陈红萍", "五十辉", "李一凡"]

li = [i + "❤" + j for i in list1 for j in list2]
print(li)

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

list1 = ["陈根基", "黄伟峰", "崔建伟", "陈鹏", "五月天"]
list2 = ["陈梦洁", "张包钱", "陈红萍", "五十辉", "李一凡"]

li = [i + j for i in list1 for j in list2 if list1.index(i) == list2.index(j)]
print(li)

'''
li = []
for i in list1:
   for j in list2:
      if list1.index(i) == list2.index(j):
         li.append((j, i))

print(li)
'''
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。