一、什么是列表生成式?
可以一行代码实现生成列表
二、列表生成式语法
# 语法:
list = [取出的每一个值、任意值 for 可迭代对象中取出的每一个值 in 可迭代对象]
# for的右边是循环次数,并且可以取出可迭代对象中每一个值
# for的左边可以为当前列表添加值
list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象]
list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象 if 判断]
三、列表生成式的应用
3.1 依次取出list1中的值并追加到新列表
# 语法:
list = [取出的每一个值、任意值 for 可迭代对象中取出的每一个值 in 可迭代对象]
# for的右边是循环次数,并且可以取出可迭代对象中每一个值
# for的左边可以为当前列表添加值
list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象]
list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象 if 判断]
3.1 依次取出list1中的值并追加到新列表
将list1中的值,依次取出,添加到new_list中
# 普通的方式
list1 = [1, 2, 3, 4, 5]
def func(list1):
new_list = []
for i in list1:
new_list.append(i)
# 使用列表表达式的方式
list1 = [i for i in range(1, 6)]
print(list1)
3.2 将name_list里面的所有人名加上_DSB
将name_list里面的所有人名加上_DSB
name_list = ['egon', 'tank', 'sean', '饼哥']
name_list = [i + '_DSB' for i in name_list]
print(name_list)
将除了tank之外的都加上_DSB
name_list = [i + '_DSB' for i in name_list if not i == 'tank']
print(name_list)