Python基础笔记——列表推导式

列表推导式

列表推导式:为了快速生成一个列表。

格式一、

变量 = [生成数据的规则 for 临时变量 in ***] (每次循环创建新的数据)

list1 = [i for i in range(5)]
print(list1)
# [0, 1, 2, 3, 4]
list2 = ['python' for i in range(5)]
print(list2)
# [0, 1, 2, 3, 4]
list3 = [f'num{i}' for i in my_list]
print(list3)
# ['num0', 'num1', 'num2', 'num3', 'num4']
list4 = [i*i for i in range(5)]
print(list4)
# [0, 1, 4, 9, 16]

格式二、

变量 = [生成数据的规则 for 临时变量 in *** if xxx] (每次循环,如果条件为true就生成一个数据)

list1 = [i for i in range(10) if i % 2 == 0]
print(list1) 
# [0, 2, 4, 6, 8]
my_list2 = [f'num{i}' for i in my_list if i % 2 == 0]
print(my_list2)
# ['num0', 'num2', 'num4']

格式三、

变量= [ 生成数据的规则 for 临时变量 in xxx for j in xxx]

my_list4 = [(i, j) for i in range(3) for j in range(3)]
print(my_list4)
# [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

字典推导式、

变量 = {生成字典的规则 for 临时变量 in xxx} my_dict = {key:value for i in range(3)}

my_dict = {f"name{i}": i for i in range(3)}
print(my_dict)
# {'name0': 0, 'name1': 1, 'name2': 2}
# 字典的key相同修改数据,不存在添加数据
my_dict = {f"name{i}": j for i in range(3) for j in range(3)}
print(my_dict)  # 3
# {'name0': 2, 'name1': 2, 'name2': 2}
my_dict = {f"name{i}{j}": j for i in range(3) for j in range(3)}
print(my_dict)
# {'name00': 0, 'name01': 1, 'name02': 2, 'name10': 0, 'name11': 1, 'name12': 2, 'name20': 0, 'name21': 1, 'name22': 2}

——————————来自b站黑马程序员视频——————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值