列表生成式(列表解析)
day24
往一个列表里装入100个鸡蛋
# 传统方式 eggs_list = [] for i in range(100): eggs_list.append("egg%s" % i) print(eggs_list)
运行结果:
['egg0', 'egg1', 'egg2', 'egg3', 'egg4', 'egg5', 'egg6', 'egg7', 'egg8', 'egg9', 'egg10', 'egg11', 'egg12', 'egg13', 'egg14', 'egg15', 'egg16', 'egg17', 'egg18', 'egg19']
# 列表生成式方式 l = ["agg%s" % i for i in range(100)] print(l)
运行结果:
['agg0', 'agg1', 'agg2', 'agg3', 'agg4', 'agg5', 'agg6', 'agg7', 'agg8', 'agg9', 'agg10', 'agg11', 'agg12', 'agg13', 'agg14', 'agg15', 'agg16', 'agg17', 'agg18', 'agg19']
# 加入条件 l2 = ["agg%s" % i for i in range(20) if i > 12] # 如果i>50 执行左边的代码 print(l2)
运行结果:
['agg13', 'agg14', 'agg15', 'agg16', 'agg17', 'agg18', 'agg19']
把列表与字符串进行拼接
l = [1, 2, 3, 4] s = "hello" # 传统方式 res_list = [] for i in l: for j in s: res_list.append([i, j]) print(res_list)
运行结果:
[[1, 'c'], [1, 'a'], [1, 'r'], [2, 'c'], [2, 'a'], [2, 'r'], [3, 'c'], [3, 'a'], [3, 'r'], [4, 'c'], [4, 'a'], [4, 'r']]
# 列表生成式方式 lis = [[i, j] for i in l for j in s] print(lis)
运行结果:
[[1, 'c'], [1, 'a'], [1, 'r'], [2, 'c'], [2, 'a'], [2, 'r'], [3, 'c'], [3, 'a'], [3, 'r'], [4, 'c'], [4, 'a'], [4, 'r']]
# 加上判断条件 lis2 = [[i, j] for i in l if i > 2 for j in s] print(lis2)
运行结果:
[[3, 'c'], [3, 'a'], [3, 'r'], [4, 'c'], [4, 'a'], [4, 'r']]
共有 0 条评论