技术标签: python
推导式可以快速生成一个列表、字典或其他需要的格式,还会减少代码量。
推导式的使用方法(以列表为例):
1.推导式:
a = [i for in xxx]
2.推导式结合 if 条件进行过滤:
a = [i for in xxx if 条件]
3.推导式完整if:
a = [ 条件成立的返回值 if 条件 else 条件不成立返回值 i for in xxx]
# -------------正常的写法-------------
a1 = []
for i in range(10):
a1.append(i)
print(a1)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# ---------使用推导式的写法-----------
a2 = [i for i in range(10)]
print(a2)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 快速生成0-9的列表
# -------------正常的for循环加if判断-----------------
a1 = []
for i in range(10):
if i%2==0: # 偶数
a1.append(i)
print(a1)
# [0, 2, 4, 6, 8]
# ----------推导式加if判断(加在for条件后面)----------
a2 = [i for i in range(10) if i%2==0]
print(a2)
# [0, 2, 4, 6, 8]
2里只有if过滤一次,那么如果还有else的条件呢?
else直接写在a2中的if后面,会报错,并且没有条件返回值。
格式:
a = [ 条件成立的返回值 if 条件 else 条件不成立返回值 i for in xxx]
# -------------正常的for循环加if else-----------------
a1 = []
for i in range(10):
if i%2==0: # 偶数
a1.append(f"我是偶数{i}")
else:
a1.append(f"我是奇数{i}")
print(a1)
# ['我是偶数0', '我是奇数1', '我是偶数2', '我是奇数3', '我是偶数4', '我是奇数5', '我是偶数6', '我是奇数7', '我是偶数8', '我是奇数9']
# ---------------------------------------------------
# if 前面 是满足了if条件的返回值
# else 后面 是不满足if的另一个返回值
a2 = [f"我是偶数{i}" if i%2==0 else f"我是奇数{i}" for i in range(10)]
print(a2)
# ['我是偶数0', '我是奇数1', '我是偶数2', '我是奇数3', '我是偶数4', '我是奇数5', '我是偶数6', '我是奇数7', '我是偶数8', '我是奇数9']
字典推导式也同理,语法相似。只是字典为key&value需要注意
list1 = ['a', 'b', 'c']
dict1 = {index: value for index, value in enumerate(list1)}
print(dict1)
# {0: 'a', 1: 'b', 2: 'c'}
文章浏览阅读1.8w次,点赞23次,收藏94次。本文将介绍光场领域进行深度估计的相关研究。In this post, I’ll introduce some depth estimation algorithms using Light field information. Here is some of the code.研究生阶段的研究方向是光场深度信息的恢复。再此做一些总结,以便于让大家了解光场数据处理的一般步骤以及深度估计的相关..._光场深度估计
文章浏览阅读68次。column的布局形式还没有使用过,后续的bug和解决方案有待检验。columncolumn-count:number; 设置内容分为多少栏显示column-width:长度单位;设置每一栏的宽度而不设定元素的宽度column-gap:长度单位;设置多栏之间的间隔距离column-rule:宽度,颜色;在栏与栏之间增加一条间隔线。类似border.column-spa..._h5 column-span
文章浏览阅读495次。/*** @description 把屏幕像素点数所代表的距离转换为实际地理距离 * @author brian* @param mapScale地图比例尺 * @param pixelUnits屏幕像素个数 * @return double 实际地理距离 */public double ConvertPixelsToMapUnits(WebMa..._像素距离和实际距离转换
文章浏览阅读2k次,点赞2次,收藏8次。位带操作顾名思义就是可以单独对CPU寄存器某个位进行读写操作,采取这种方式,将会大大减少我们写代码的难度,不用像上篇博客那样进行与或运算和移位,降低了出错的可能性。如果之前有使用过8051单片机的话,应该体会过这种操作的好处。例如,在51单片机中,P1.0上挂了一个灯,我们想要他点亮,可以直接P1.0=0或者P1.0=1这样写,直接对P1端的某个IO口进行操作。但在STM32中并不允许这样操作,..._gpiob->odr |=1<<6
文章浏览阅读2.4k次,点赞5次,收藏22次。C++ 中,`std::string` 是用于处理字符串的标准库类。它提供了一系列成员函数和操作符,使得字符串的操作更加方便和灵活。_c++ string 子串
文章浏览阅读1.2w次,点赞7次,收藏41次。一、什么是慢查询慢查询,顾名思义,执行很慢的查询。有多慢?超过long_query_time参数设定的时间阈值(默认10s),就被认为是慢的,是需要优化的。慢查询被记录在慢查询日志里。慢查询日志默认是不开启的。如果需要优化SQL语句,就可以开启这个功能,它可以让你很容易地知道哪些语句是需要优化的。1️⃣show variables like 'slow_query_log';查询是否开启慢查询日志【开启慢查询sql:set global slow_query_log = 1/on;】【关闭慢查询sq_慢查询
文章浏览阅读3.7k次,点赞3次,收藏15次。Python系列之MySQL where in查询数据导出Excel最近接到需求,需要通过一条SQL查询出来的id,去过滤另外一条SQL的数据,听起来并不难,但是因为业务原因需要查询很多个环境,而且需要经常查询,所以想到通过程序来实现,开发环境MySQL 10.1.38-MariaDB-1~bionicPython3.7.8开发工具PyCharm2018.1SmartGit18.1Navicat15.0.28...
文章浏览阅读2.7k次,点赞6次,收藏12次。整理由来由于大家日常难免用到Word等工具,由此,我整理了一份快捷工具大全,可以有效提高办公等效率。(部分资料度娘整理)具体内容(1)常见快捷键Ctrl + A:“全选”界面当前所有内容Ctrl + S:“保存”当前已经编辑的内容,一般可以有效防止内容“丢失”,很好用!Ctrl + C:“复制”已经选中的内容Ctrl + V:将已经复制的内容“粘贴”到另一编辑界面,常与上一个“复制”结合使用Ctrl + B:“加粗”已经选中的文本Ctrl + I:将选中的文字“斜体”化Ctrl + U_文字工具快捷键
文章浏览阅读3.7w次,点赞4次,收藏11次。前面编译了osg库(没有带任何插件),本章节不依赖osgQt,使用osgQt的弊端是每次不能自定义消息,若要自定义消息则需求修改osgQt中源码,重新编译,所以此种方法灵活性较高。_osg开发笔记(四):osg不使用osgqt重写类嵌入qt应用程序
文章浏览阅读1.3w次,点赞3次,收藏14次。from tkinter import *longtext='''多行 文本'''master = Tk()master.title("label学习")w0=Label(master,text=longtext)w0.pack()photo=PhotoImage(file="b.png")w=Label(master,image=photo)w.pack(_python tkinter labels[i].config(image=none) 无法去除图片
文章浏览阅读720次。如果你是学电气专业的话,电路原理是最基础最重要的一门课。学不好它,后面的模电、电机、电力系统分析、高压简直没办法学。对于这门课,你要想真正的领悟和掌握,奥秘就在于不能停止思考。而且我觉得这是最重要的一点。我以江辑光的《电路原理》为例(这本书编的相当不错)解释为何不能停止思考。电路几乎是第一本开始培养你工程师思维的书,它不同于数学物理,很多可以理论推导。而电路更多的是你的思考和不断累积的经验。在江的..._1/jwc 正弦
文章浏览阅读10w+次,点赞399次,收藏3.2k次。C语言学生成绩管理系统设计 《C语言程序设计》实训报告_c语言学生成绩管理系统设计报告