Python推导式

'''
       推导式
-列表推导式
-字典推导式
-集合推导式

推导式作用:化简代码
'''
# 1.1 列表推导式
# 作用:用一个表达式创建一个有规律的列表或控制一个有规律列表
# 列表推导式又叫列表生成式
# 创建一个0-10的列表
''' 
1)创建空列表 2)循环将有规律的数据写入到列表

while实现: 
list1 = []
i = 0
while i < 10:
    list1.append(i)
    i += 1
print(list1)

for实现:
list1[]
for i in range(10):
    list1.append(i)
    i += 1
print(list1)
'''

# 列表推导式实现
# list1 = [i for i in range(10)]
# print(list1)

# 1.2  带if的列表推导式
# 需求:创建0-10的偶数列表
# 方法一:range()步长实现
list1 = [i for i in range(0, 10, 2)]
print(f"list1:{list1}")

# 方法二:if实现
list2 = [i for i in range(10) if i % 2 == 0]
print(f"list2:{list2}")

# 1.3 多个for循环实现列表推导式
# 需求:创建列表:[(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]
list3 = [(i, j) for i in range(1, 3) for j in range(3)]
print(f"list3:{list3}")

# 2.1字典推导式
# 作用:快速合并列表为字典或提取字典中目标数据
# 创建一个字典: 字典key是1-5数字,value是这个数字的平方
dict1 = {i: i ** 2 for i in range(1, 6)}
print(f"dict1:{dict1}")

# 2.2 将两个列表合并为一个字典
list4 = ['name', 'age', 'gender']
list5 = ['Tom', 20, 'man']

dict2 = {list4[i]: list5[i] for i in range(len(list4))}
print(f"合并dict4和dict5后:{dict2}")
'''
1.如果两个列表数据个数相同,len统计任何一个列表的长度都可以
2.如果两个列表数据个数不同,len统计数据多的列表数据个数会报错;len统计数据少的列表数据个数不会报
'''

# 2.3 提取字典中目标数据
counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'HUAWEI': 368, 'Lenovo': 189}
# 需求:提取上述电脑数量大于等于200的字典数据
count1 = {key: value for key, value in counts.items() if value >= 200}
print(counts.items())
print(f"电脑数量大于等于200的品牌:{count1}")

# 3.1 集合推导式
# 需求:创建一个集合,数据为下方列表的平方
list1 = [1, 1, 2]
set1 = {i ** 2 for i in list1}
print(f"set1:{set1}")

print('''
推导式总结:
作用: 简化代码
列表推导式:[xx for xx in range()]
字典推导式:{xx1: xx2 for ... in ...}
集合推导式:{xx for xx in ...}'''
      )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值