普通做法:
list_data = [] for i in range(1, 11): list_data.append(i * i) print(list_data)
使用‘列表推导式:
list_data = [i * i for i in range(1, 11)] print(list_data)
列表推导式的表达式:
表达式;
[for 临时变量 in iterable 过滤]
1.2
# color: red, blue, black # 列表 # size: S, M, L #列表 # (red, S), (red, M),(red, L), (blue, S)....(black, L) color = ["red", "blue", "black"] size = ["S", "M", "L"] clothes_list = [(i, j) for i in color for j in size] print(clothes_list) # [(i, j) for i in color for j in size] # 结果是一个列表:[] # 列表中每一个元素的结构:(color, size) # 类似嵌套循环 # for i in color # 每次拿到一个i —> red # 内层循环执行三次 # for j in size # 每次拿到一个j -> S j-> M , j-> L
输出:
1.3从[1-10]中过滤出奇数
# [1-10] => 里边过滤出奇数 list_data = [] for i in range(1, 11): if i % 2 != 0: list_data.append(i) print(list_data) # [表达式 for 临时变量 in iterable 过滤] list_data = [i for i in range(1, 11) if i % 2 != 0] print(list_data)
输出:
1.1.4if else
# if else表达式 # value1 if condtion else value2 # 如果条件为真 返回value1,如果条件为假,返回value2 test = 5 data = "奇数" if test % 2 else "偶数" print(data) list_data = [i if i % 2 else 0 for i in range(1, 11)] print(list_data)
输出:
字典推导式 {key: value} #[表达式:表达式 for 临时变量 in iterable 过滤] dict_data = {i * i: i * i * i for i in [1, 2, 3]} print(dict_data)
输出: