Python 的简洁表达:for语句,if语句,3变量值互换

2023-11-06

Python 语句遵循的是简洁为美的原则,所以有很多表达方式非常简洁。
同时在熟练以后也不会牺牲可读性。

一、for 语句

比如我们要求 n 2 n^2 n2 的值的列表,其中, n n n 的范围是1~10,我们可以这样写:

>>> answer = []
>>> for i in range(1,11):
	answer.append(i*i)

	
>>> answer
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

简洁的表述方法是:

>>> answer = [i*i for i in range(1,11)]
>>> answer
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

二、if 语句

例如我们要比大小,求小的那个:

>>> a=3
>>> b=4
>>> if a>b:
	answer=b
else:
	answer=a

	
>>> answer
3

简洁的写法:

>>> answer = a if a<b else b
>>> answer
3

三、3 变量值互换

>>> x=1
>>> y=2
>>> z=3
>>> x,y,z=y,z,x
>>> x
2
>>> y
3
>>> z
1

四、for 语句和 if 语句结合的列表推导式

求100以内能被3整除,不能被5整除的数的列表。
原:

a = []
for i in range(100):
    if not(i%3) and (i%5):
        a.append(i)
print(a)

[3, 6, 9, 12, 18, 21, 24, 27, 33, 36, 39, 42, 48, 51, 54, 57, 63, 66, 69, 72, 78, 81, 84, 87, 93, 96, 99]

简洁版:

b = [i for i in range(100) if not(i%3) and (i%5)]
print(b)

[3, 6, 9, 12, 18, 21, 24, 27, 33, 36, 39, 42, 48, 51, 54, 57, 63, 66, 69, 72, 78, 81, 84, 87, 93, 96, 99]

待续。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 的简洁表达:for语句,if语句,3变量值互换 的相关文章

  • 阻止 TensorFlow 访问 GPU? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以纯粹在CPU上运行TensorFlow 我机器上的所有内存都被运行 TensorFlow 的单独进程占用 我尝试将 per process memory fraction 设置为 0 但未成功
  • 上传时的 Google Drive API——这些额外的空行从何而来?

    总结一下该程序 我从我的 Google 云端硬盘下载一个文件 然后在本地计算机中打开并读取一个文件 file a txt 然后在我的计算机中打开另一个文件 file b txt 处于附加模式 并且在使用这个新的 file b 更新我的 Go
  • 在 Pandas 中,如何从基于另一个数据框的数据框中删除行?

    我有 2 个数据框 一个名为 USERS 另一个名为 EXCLUDE 他们都有一个名为 电子邮件 的字段 基本上 我想删除 USERS 中包含 EXCLUDE 中包含电子邮件的每一行 我该怎么做 您可以使用boolean indexing
  • ctypes 错误:libdc1394 错误:无法初始化 libdc1394

    我正在尝试将程序编译为共享库 我可以使用 ctypes 在 Python 代码中使用该库 使用以下命令该库可以正常编译 g shared Wl soname mylib O3 o mylib so fPIC files pkg config
  • 字符串中的注释和注释中的字符串

    我正在尝试使用 Python 和 Regex 计算 C 代码中包含的注释中的字符数 但没有成功 我可以先删除字符串以删除字符串中的注释 但这也会删除注释中的字符串 结果会很糟糕 是否有机会通过使用正则表达式来询问不匹配注释中的字符串 反之亦
  • ImportError:运行 jupyter Notebook 时没有名为 IPython.paths 的模块?

    我通过以下方式安装了 jupyter usr local opt python bin python2 7 m pip install jupyter 这将安装 ipython 版本 4 1 2 但是 当我运行 jupyter Notebo
  • 如何在Python中高效地添加稀疏矩阵

    我想知道如何在Python中有效地添加稀疏矩阵 我有一个程序 可以将大任务分解为子任务 并将它们分配到多个 CPU 上 每个子任务都会产生一个结果 一个 scipy 稀疏矩阵 格式为 lil matrix 稀疏矩阵尺寸为 100000x50
  • Python中列表中两个连续元素的平均值

    我有一个偶数个浮点数的列表 2 34 3 45 4 56 1 23 2 34 7 89 我的任务是计算 1 和 2 个元素 3 和 4 5 和 6 等元素的平均值 在 Python 中执行此操作的快捷方法是什么 data 2 34 3 45
  • 揭秘sharedctypes性能

    在 python 中 可以在多个进程之间共享 ctypes 对象 然而我注意到分配这些对象似乎非常昂贵 考虑以下代码 from multiprocessing import sharedctypes as sct import ctypes
  • 如何使用 Bokeh 动态隐藏字形和图例项

    我正在尝试在散景中实现复选框 其中每个复选框应显示 隐藏与其关联的行 我知道可以通过图例来实现这一点 但我希望这种效果同时在两个图中发生 此外 图例也应该更新 在下面的示例中 出现了复选框 但不执行任何操作 我显然不明白如何更新用作源的数据
  • 使用 Conda 更新特定模块会删除大量软件包

    我最近开始使用 Anaconda Python 发行版 因为它提供了许多开箱即用的数据分析库 使用 conda 创建环境和安装软件包也轻而易举 但是当我想更新 Python 本身或任何其他模块时 我遇到了一些严重的问题 我事先被告知我的很多
  • Werkzeug 中的线程和本地代理。用法

    首先 我想确保我正确理解了功能的分配 分配本地代理功能以通过线程内的模块 包 共享变量 对象 我对吗 其次 用法对我来说仍然不清楚 也许是因为我误解了作业 我用烧瓶 如果我有两个 或更多 模块 A B 我想将对象C从模块A导入到模块B 但我
  • 使用 NLP 进行地址分割

    我目前正在开发一个项目 该项目应识别地址的每个部分 例如来自 str Jack London 121 Corvallis ARAD ap 1603 973130 输出应如下所示 street name Jack London no 121
  • sqlite3从打印数据中删除括号

    我创建了一个脚本 用于查找数据库第一行中的最后一个值 import sqlite3 global SerialNum conn sqlite3 connect MyFirstDB db conn text factory str c con
  • PIL - 需要抖动,但限制调色板会导致问题

    我是 Python 新手 正在尝试使用 PIL 来执行 Arduino 项目所需的解析任务 这个问题涉及到Image convert 方法以及调色板 抖动等选项 我有一些硬件能够一次仅显示 16 种颜色的图像 但它们可以指定为 RGB 三元
  • 导入错误:无法导入名称“时间戳”

    我使用以下代码在 python 3 6 3 中成功安装了 ggplot conda install c conda forge ggplot 但是当我使用下面的代码将其导入笔记本时 出现错误 from ggplot import Impor
  • [cocos2d-x]当我尝试在 Windows 10 中运行“python android-build.py -p 19 cpp-tests”时出现错误

    当我尝试运行命令时python android build p cpp tests 我收到如图所示的错误 在此之前 我收到了另一条关于 Android SDK Tools 版本兼容性的错误消息 所以 我只是将 sdk 版本从 26 0 0
  • 使用Multiprocessing和Pool时如何访问全局变量?

    我试图避免将变量冗余地传递到dataList e g 1 globalDict 2 globalDict 3 globalDict 并在全球范围内使用它们 global globalDict然而 在下面的代码中并不是这样做的解决方案 是否有
  • tkinter:打开一个带有按钮提示的新窗口[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 用户如何按下 tkinter GUI 中的按钮来打开新窗口 我只需要非常简单的解决方案 如果代码也能被解释那就太好了 这
  • python 中的 after() 与 update()

    我是 python 新手 开始使用 tkinter 作为画布 到目前为止 我使用 update 来更新我的画布 但还有一个 after 方法 谁能给我解释一下这个函数 请举个例子 两者之间有什么区别 root after integer c

随机推荐

  • 清华2019最新AI发展报告出炉!400页干货,13大领域一文看懂

    2019 12 08 20 36 36 当前 人工智能正处在爆发期 我国在人工智能领域的科学技术研究和产业发展起步稍晚 但在最近十余年的时间里抓住了机遇 进入了快速发展阶段 在这个过程中 技术突破和创造性高端人才对人工智能的发展起着至关重要
  • 腾讯6大核心业务打造坚固护城河

    1998年11月 腾讯公司成立 腾讯之名取自小马哥名字与 网络通讯 这一初始业务定位 创始人为马 张 陈 许 曾五人 作为公司长期的核心决策层 分工明确 团队稳定 2000年OICQ更名为QQ 03年腾讯进入游戏领域 04年在港上市 11年
  • Qt字符编码要点

    1 首先明确几种常用的编码 UTF 8 GBK UNICODE UNICODE 明确概念0 我是汉字 是C语言中的字符串 它是char型的窄字符串 上面的例子可写为const char str 我是汉字 QString a str 或QSt
  • Vue技术—列表过滤

    div h2 人员列表 h2 div
  • mysql连接字最多查询_MySQL中应该多表连接查询一次取数据库还是多次查询取数据?...

    MySQL中应该多表连接查询一次取数据库还是多次查询取数据 具体的case在下面 三个表的字段如下 webcast cast表 id organizerId title startDate endDate number date等 webc
  • undefined reference to 问题的一种解决方法

    问题描述 今天在移植mcal中的部分代码时 然后进行编译 在链接的步骤里面 遇见了报错 undefined reference to xxx 未定义的函数被引用的问题 实际上那个函数是被定义了的 不过那个函数比较特殊 是一个被extern
  • qt day3

    1 gt 登录框实现注册功能 将注册的结果放入文件中 君子作业 2 gt 完成文本编辑器的保存工作 widget h ifndef WIDGET H define WIDGET H include
  • Vue只弹一次的弹框cookie

  • .Net 中的托管函数 Delegate

    1 什么是托管函数 托管函数是一个对类里面的某个函数的一个引用 它自己并没有具体的函数定义 只是指向某个函数实现 2 与C Delphi的横向比较 在C 和Delphi中与托管函数对应的类型是函数指针 形式如下 C typedef int
  • aaaadafdsafdashfhdskhk

    aaaadafdsafdashfhdskhksdfdsfd
  • DirectSound播放PCM(可播放实时采集的音频数据)

    前言 该篇整理的原始来源为http blog csdn net leixiaohua1020 article details 40540147 非常感谢该博主的无私奉献 写了不少关于不同多媒体库的博文 让我这个小白学习到不少 现在将其整理是
  • Labview+Hsl通讯(与欧姆龙NX1P2通讯)

    通过和欧姆龙客服沟通 NX1P2不支持fins tcp与OPC UA 但是支持FINS UDP通讯 没办将就用吧 这里PLC IP 192 168 250 0 1 端口 9600 下面是测试图 PC端的端口随意填就行 不要和PLC端口重复就
  • [1150]Linux服务器上使用rz命令上传文件报:Segmentation Fault

    使用rz命令上传一张几十KB的图片 一直上传不了服务器 试了sz命令却是没问题 一直在排查是否Linux服务器对上传命令有所限制 最终未果 接着想到是否是硬盘空间不足了 使用df h命令一看 果然硬盘没空间了 使用率达到了100 接着使用
  • tf.nn 激活函数

    tf nn sigmoid tf nn tanh tanh函数解决了Sigmoid函数的不是zero centered输出问题 但梯度消失 gradient vanishing 的问题和幂运算的问题仍然存在 tf nn relu tf nn
  • 访问数据库_常用的数据库访问方式是什么?

    常用的数据库访问方式是什么 ASP 访问数据库的方式有哪些 在 ASP 中可以通过三种方式访问数据库 1 IDC Internet Database Connector 方式 2 ADO ActiveX Data Objects 方式 3
  • 如何跳出ajax,让AJAX运作中跳出来Loading

    CSS部分 CSS一部分 div loadingdiv height 100 width 100 100 遮盖网页页面 防止user在loading时开展别的实际操作 position fixed z index 99999 须超过网页页面
  • flink架构

    JobManager控制应用执行的主进程 jobMaster处理单独的job ResuorseManager分配task slots Dispatcher提交应用 Web UI展示监控执行信息 TaskManager包含task slots
  • 技术人员要拿百万年薪,必须要经历这9个段位

    很多人都问 技术人员如何成长 每个阶段又是怎样的 如何才能走出当前的迷茫 实现自我的突破 所以我结合我自己10多年的从业经验 总结了技术人员成长的9个段位 希望对大家的职业生涯 有所帮助 1 刚接触编程的时候 会觉得这是个很神奇东西 平淡的
  • 认识计算机性能指标

    计算机性能指标 存储器的容量 MAR 的位数反应存储单元的数量 MDR 的位数反应每个存储单元的大小 cpu性能指标 高电平1代表1个数字脉冲 低电平0也代表1个数字脉冲 1个cpu时钟周期 1个数字脉冲信号 通常单位微秒 纳秒 cpu主频
  • Python 的简洁表达:for语句,if语句,3变量值互换

    Python 语句遵循的是简洁为美的原则 所以有很多表达方式非常简洁 同时在熟练以后也不会牺牲可读性 一 for 语句 比如我们要求 n 2 n 2 n2 的值的列表 其中 n n