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)

 

posted @ 2020-05-08 01:22  kelin1  阅读(206)  评论(0编辑  收藏  举报