59.列表推导式
列表推导式
所谓的列表推导式,就是指的轻量级循环创建列表
1. 基本的方式
2. 在循环的过程中使用if
3. 2个for循环
4. 3个for循环
练习
请写出一段 Python 代码实现分组一个 list 里面的元素,比如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]
参考答案:
a = [x for x in range(1,101)] b = [a[x:x+3] for x in range(0,len(a),3)]
例子1:
# 01: 定义一个列表 保存 1~100 之间所有的数据 # my_list = [] # for i in range(1, 101): # my_list.append(i) # print(my_list) # 优化 my_list = [i for i in range(1, 101)] print(my_list)
例子2:
# 02: 定义一个列表 保存十个数据 每个都是"哈哈" # my_list = [] # for _ in range(10): # my_list.append("哈哈") # print(my_list) # 列表 my_list = ["哈哈" for _ in range(10)] print(my_list)
例子3:
# 03: 定义一个列表 保存1~100之间的偶数 # my_list = [] # for i in range(1, 101): # if i % 2 == 0: # my_list.append(i) # # print(my_list) # 优化 my_list = [i for i in range(1, 101) if i % 2 == 0] print(my_list)
例子4:
# 04: 定义一个列表 [(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3)] # my_list = [] # for i in range(2): # for j in range(1, 4): # # 构造一个元组 # my_tuple = (i, j) # # 追加数据 # my_list.append(my_tuple) # # print(my_list) # 优化 my_list = [(i, j) for i in range(2) for j in range(1, 4)] print(my_list)
练习:
# 请写出一段 Python 代码实现分组一个 list 里面的元素,比如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....] # # 参考答案: a = [x for x in range(1,101)] # print(a) b = [a[x:x+3] for x in range(0,len(a),3)] print(b) # my_list = [] # l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # # l1 = l[0:3] # l[x:x+3] -> x = 0 3 6 9 # l2 = l[3:6] # l3 = l[6:9] # l4 = l[9:12] # # print(l1) # print(l2) # print(l3) # print(l4) # a = "abcdefg" # c1 = a[0:3] # c2 = a[3:6] # c3 = a[6:9] # print(c1) # print(c2) # print(c3) for i in range(0, 10, 3): print(i)