"""
    列表推导式
            定义:使用简易方法,将可迭代对象转换为列表
            语法: 变量 = [表达式 for 变量 in 可迭代对象]
                  变量 = [表达式 for 变量 in 可迭代对象 if 条件]
         注:当代码简易的时候便可以用列表推导式。
"""
# 将list01中所有元素,增加1以后存入list02中
# 方法1:传统模式
list01 = [5, 56, 6, 7, 9, 10]
list02 = []
for item in list01:
    list02.append(item + 1)
print(list01)
 
 
# 方法2:列表推导式
list01 = [5, 56, 6, 7, 9, 10]
list02 = [item + 1 for item in list01]
print(list01)
 
 
# 将list01中大于10元素,增加1以后存入list02
# 方法1:传统模式
list02 = []
for item in list01:
    if item > 10:
        list02.append(item + 1)
print(list02)
 
 
# 方法2:列表推导式
list02 = [item + 1for item in list01 if item > 10]
print(list02)
 
 
# 练习: 使用range生成1 - 10之间的数字,将数字的平方存入list01中
# 方法1:传统模式
list01 = []
for item in range(1, 11):
    list01.append(item ** 2)
print(list01)
 
 
# 方法2:列表推导式
list01 = [item ** 2 for item in range(1, 11)]
print(list01)
 
 
#         将list01中所有奇数存入list02
# 方法1:传统模式
list02 = []
for item in list01:
    if item % 2 == 1: # 取奇数
        list02.append(item)
print(list02)
 
 
# 方法2:列表推导式
list02 = [item for item in list01 if item % 2 == 1]
print(list02)
 
 
#         将list01中所有偶数存入list03
# 方法1:传统模式
list03 = []
for item in list01:
    if item % 2 == 0: # 取偶数
        list03.append(item)
print(list03)
 
 
# 方法2:列表推导式
list03 = [item for item in list01 if item % 2 == 0]
print(list03)
 
 
#         将list01中所有偶数大于5的数字增加1后存入list04
# 方法1:传统模式
list04 = []
for item in list01:
    if item % 2 == 0 and item > 5:
        list04.append(item + 1)
print(list04)
 
 
# 方法2:列表推导式
list04 = [item + 1 for item in list01 if item % 2 == 0 and item > 5]
print(list04)