一、列表推导式

语法:[表达式  for循环  if判断]

list = [i for i in range(1,11)]
print(list)

结果:

list = [i +1 for i in range(10)]
print(list)

结果:

 示例:生成1-10之间的偶数列表

list = [i for i in range(11) if i%2==0]
print(list)

结果:

 示例:生成一个含有10个元素的列表,10个元素都是666

list = [666 for i in range(10)]
print(list)

结果:

 如果for循环中的i不使用,用下划线代替,下划线表示没有用的参数

list = [666 for _ in range(10)]
print(list)

示例:过滤掉名字长度小于5的

list1 = ["zhangsan","lisi","wangwu"]
list2 = [name for name in list1 if len(name) > 5]
print(list2)

注意:for循环中不一定要用到range。

 2个for循环

list = [(x,y) for x in range(1,3) for y in range(3)]
print(list)

结果:

 二、字典推导式

格式:{key : value  for循环  if判断}

dict = { str(i) : i**2 for i in range(1,11)}
print(dict)

结果:

 示例:将key和value互换位置

dict = {"name": "zhangsan","age": 18}
dict1 = {dict[key]: key for key in dict}
print(dict1)

结果:

 三、无序集合推导式

 无序集合可以去重

语法:{表达式  for循环  if判断}

list = ["beijing","shanghai","beijing"]
list1 = {city for city in list if city.startswith("b")}
print(list1)

结果:

 

posted on 2021-09-10 17:19  周文豪  阅读(62)  评论(0编辑  收藏  举报