1. 什么是列表推导式
列表推导式又称推导列表,听着很高大上但是平易近人的一个python知识点。这又是python的骚操作,又是一个“一行君” 列表推导式是以列表为载体,以推导的方式将数据生成并放在列表中。 推导即规则,它支持for循环和筛选模式(if判断模式)。 通俗易懂的说法:设定一个既定规则在列表中进行数据生成,列表推导式比传统方法更为简洁,代价是放弃一部分的可读性
请注意! 列表推导式并非不可代替的写法,用“笨”办法一样可以完成
2. 如何声明列表推导式 最简单的列表推导式: 列表结构作为一个承载体 list_data = [x for x in range(10)] 每循环一次向列表添加一个x的值,直到for全部完成 输入结果:[0,1,2,3,4,5,6,7,8,9]
列表推导式和传统方法的比较 推导式模式:
list_data = [x for x in range(10)]
传统模式:
list_data = []
for x in range(10):
list_data.append(x)
带判断的列表推导式:
list_data = [x for x in range(10) if x%2 == 0]
带判断的列表推导式 加一点料进去对最终输出结果进行处理:
list_data = [x**2 for x in range(10) if x%2 ==0]
列表推导式的双for循环:
list_data = [(x,y) for x in [1,2,3] for y in [4,5,6]]
列表推导式的for循环对两层列表惊醒循环:
data = [[1,2,3,4,5],[6,7,8,9,10]]
list_data = [y for x in data for y in x]
emp_list = []
for x in data:
for y in x:
emp_list.append(y)
字典推导式:
dict_data = {x:x for x in ("name","age","city")}
输出:{"name":"name","age":"age","city":"city"}
字典推导式构建,组合键值对
fields = ['姓名','年龄',"城市"]
info = ["zz",28,"上海"]
dict_data = {x:y for x,y in zip(fields,info)}
dict_dat = {}
for x,y in zip(fields,info):
dict_data[x] = y
|