一篇文章带你入门python之推导式
作者:二十四桥_ 发布时间:2022-02-05 08:29:35
标签:python,推导式,入门
一、dict推导式
list1 = ['name', 'age', 'gender']
list2 = ['zmz', '20', 'boy']
# 字典推导式 -- 快速合并列表为字典,或提取字典中的目标数据
# 例 1 -- key是数字,value是这个数字的平方
dict1 = {i: i ** 2 for i in range(1, 5)}
print(dict1)
# 例 2 -- 合并两个列表,两个列表长度相同
dict2 = {list1[i]: list2[i]for i in range(len(list1))}
print(dict2)
# 如果两个列表长度不同,那么取 len(长度较短的列表)
# 例 3 -- 提取字典中满足条件的数据
dict3 = {'Mac': 10000, 'Dell': 6599, 'HP': 6999, 'Lenovo': 5799, 'Acer': 4599}
print(dict3.items())
counts = {key: value for key, value in dict3.items() if value > 6000}
print(counts)
二、list推导式
"""
推导式(生成式) -- 是用来化简代码
推导式包含:
1.列表推导式
2.字典推导式
3.集合推导式
"""
# 用一个表达式创建一个有规律的列表或控制一个有规律的列表
list1 = []
# while实现
i = 0
while i < 10:
list1.append(i)
i += 1
print(list1)
# for 实现
list2 = []
for i in range(10, 20, 1):
list2.append(i)
print(list2)
# 推导式实现
list3 = [i for i in range(-9, 2, 1)] # for 的左侧的 i 是返回值,创建列表当然用 []
print(list3)
print(sum([2 ** i for i in range(100)]))
三、set推导式
# 集合推导式 -- 主要用来根据列表创建集合
list1 = [2, 3, 4, 2, 5, 3]
set1 = {i ** 2 for i in list1}
print(set1)
t1 = (10, 20, 30, 40, 50)
print(t1)
t2 = (i * 2 for i in t1)
print(t2) # 打印不出来
四、含if推导式
"""
创建0 - 10 的偶数列表
"""
# 方法一
list1 = [i for i in range(0, 11, 2)]
print(list1)
# 方法二
list2 = []
for i in range(11):
if i % 2 == 0:
list2.append(i)
print(list2)
# 方法三
list3 = [i for i in range(11) if i % 2 == 0] # 列表推导式其实就是根据for 循环化简得来的
print(list3)
五、含for推导式
list = []
for i in range(1, 3):
for j in range(3):
list.append((i, j))
print(list)
print("==================")
list1 = [(i, j) for i in range(5) for j in range(5)] # for循环嵌套
count = 0
for i in list1:
count += 1
print(i, end='')
if count % 5 == 0:
print()
来源:https://blog.csdn.net/Zzzzzz_m/article/details/122785851
0
投稿
猜你喜欢
- 废话不多说,我就直接上代码让大家看看吧!#!/usr/bin/env python# -*- coding: utf-8 -*-# @Fil
- 引伸阅读解读absolute与relativeposition:relative/absolute无法冲破的等级定位一直是WEB标准应用中的
- 其主要的优点便是无需再手工添加大量的信息了,可以指定对某一个站信息的截取进行批量录入,达到省时省力的目的。与其单纯的ASP小偷程序不同的是:
- 前言本文主要介绍的是基于centos7进行yum安装lnmp(linux+nginx+php7.1+mysql5.7)的相关教程,文中将一步
- CSS2.1 中规定了关于 CSS 规则 Specificity(特异性)的计算方式,用一个四位的数
- create or replace PROCEDURE proceudre_name AS BEGIN DECLARE sPara VARC
- <body oncontextmenu="return false" onselectstart="re
- 例如:我们在百度中搜索 词典网,则网址后面的参数就是http://www.baidu.com/s?cl=3&wd=%B4%CA%B5
- 终端输出彩色文字开发工具:Mac,Goland,Mac自带shell。这是基于Mac的测试结果,根据读者留言,在Windows上不生效,标识
- 总结了5个关于css布局的常见问题,并附有解决方法,供参考。float的3像素问题及解决办法当使用float浮动容器后,在IE6下会产生3p
- 1. 把数字转换成字符串,应用"" + 1,虽然看起来比较丑一点,但事实上这个效率是最高的,性能上来说:("&
- MySQL有多种存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、
- 要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已
- 当你准备全面进军web标准时,有时候你是不是被表格的弄得焦头烂额呢?比如,原来使用“非法”的nobr现在要用什么来代替呢?今天,就让我来一个
- 代码如下:url="http://www.cidianwang.com/" wstr=getHTTPPage(
- requests库安装和导入第一步:cmd打开命令行,使用如下命令安装requests库。pip install requests由于我的安
- 方法一:1、将ORACLE软件拷贝到硬盘。 2、将 硬盘目录文件\stage\Components\oracle.swd.jre
- 数据库(database)MySQL 是最流行的开源数据库系统,可运行于几乎所有的操作系统平台。在《MySQL 安装》一文中详解介绍了安装步
- strstr 定义和用法注释:该函数是二进制安全的。语法strstr(string,search,before_search)参数
- 目的:JS+ASP打造无刷新新闻列表,下图所示的新闻列表相信大家并不少见,包括新闻的分页功能,本文要介绍的就是各分页间的切换方式。传统的方法