对于“不”来说,什么更“Pythonic”[重复]

2023-11-21

两种方式我都见过,但哪种方式更Pythonic?

a = [1, 2, 3]

# version 1
if not 4 in a:
    print 'is the not more pythonic?'

# version 2
if 4 not in a:
    print 'this haz more engrish'

哪种方式被认为是更好的Python?


第二个选项更Pythonic,原因有二:

  • It is one运算符,转换为一个字节码操作数。另一行确实是not (4 in a);两个操作员。

    当它发生的时候,Python 优化后一种情况并翻译not (x in y) into x not in y无论如何,但这是 CPython 编译器的实现细节。

  • 这与在英语中使用相同逻辑的方式很接近。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于“不”来说,什么更“Pythonic”[重复] 的相关文章

随机推荐

  • C++ 系统文件 bits/stat.h 突然中断并显示“错误:字段‘st_atim’的类型不完整”

    我正在将一个已知可以运行的大型旧系统移植到 Ubuntu 64 位 Linux 上 系统使用FLTK 升级到1 3 2 我使用的是NetBeans 文件的第一行包括基本通用 FL Fl H 这包括较新的 unicode 启用程序 FL fl
  • 在manifest中设置Android沉浸式全屏模式

    在新的 KitKat 中有沉浸式全屏模式 可以这样使用 要为您的应用程序提供充满整个屏幕的布局 setSystemUiVisibility 的新 SYSTEM UI FLAG IMMERSIVE 标志 当 与 SYSTEM UI FLAG
  • Git 与 SVN 需要多少空间?

    我们目前使用 Subversion 作为我们的源代码存储库 我们正处于转换为 Git 的规划阶段 我们的 Subversion 存储库目前为 19Gb 在磁盘空间要求方面 Git 存储库与 Subversion 相比如何 我的 19Gb s
  • Docker(Spring Boot 或 Thorntail)和 Keycloak

    我在 docker 容器中运行 Spring Boot 和 Keycloak 时遇到问题 我从 Keycloak 开始 将 mysql 作为在 docker 中运行的数据库 services mysql image mysql 5 7 co
  • 如何访问名称中带有点的 python argparse 参数

    Python 的 argparse 允许我定义名称中包含点的参数名称 但我怎样才能访问这些呢 import argparse parser argparse ArgumentParser parser add argument inputf
  • CSS 最小化器?

    您是否知道在线 CSS 压缩器可以帮助删除冗余 低效的 CSS 声明并用更优化的 CSS 替换它 意思是 我知道存在很多 压缩器 它们只是删除选项卡 删除注释等 但我正在寻找的是足够聪明的东西来知道 border top 1px solid
  • 使 EditText 仅显示小数点后两位

    我想在编辑文本中仅显示两位小数 ofc 我想在编辑文本中显示货币 但将其值限制为小数点后两位 我见过一些使用正则表达式的解决方案 但我不想这样做 有人告诉我 java 支持一些可以做到这一点的内部库函数 任何人都可以给我提示或给我一些有效的
  • 将文本区域接收的数据输出回文本区域时,如何正确清理从文本区域接收的数据?

    用户将在文本区域中输入文本 然后将其直接插入到 mySQL 数据库中 我在上面使用了trim htmlentities mysql real escape string 并且启用了魔术引号 将数据输出回文本区域时应该如何清理它 感谢您的帮助
  • .NET Core 2.0 与 MySQL:指定的键太长;最大密钥长度为 3072 字节

    我是一名 PHP MySQL 开发人员 正在尝试转向其他技术 例如 NET Core 我不确定我是否喜欢从 MySQL 切换到 SQL Server 由于许可 的想法 因此我一直在尝试让 NET Core 与 MySQL 很好地配合 我已经
  • Angular 2 每次按键时都会更改事件

    仅在输入焦点更改后才会调用更改事件 我怎样才能让事件在每次按键时触发
  • d3 地图上的线不形成曲线

    我使用 d3 js 创建了一个地图 我想在两个位置之间显示一条曲线 我能够显示一条线 但有时它不能形成完美的曲线 对于某些线路 线路会在地图后面 穿过反子午线 弯曲到达目的地 这是演示该问题的代码笔 https codepen io pee
  • 多个视图 OnTouch 事件

    我们正在开发一个应用程序 需要同时从多个视图捕获 MotionEvent 当我们尝试这样做时 Android 只会将事件分派到第一个触摸的视图 并且当同时触摸另一个视图时 它只会在第一个视图上为我们提供 ACTION POINTER DOW
  • 如何制作一个出色的 R 可重现示例

    这个问题的答案是社区努力 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 当与同事讨论性能 教学 发送错误报告或在邮件列表和 Stack Overflow 上搜索指导时 可重现的例子经常被问到并且总是有帮助 创建优秀示例的技巧是什么
  • WatchKit WKInterfaceLabel 无法更改字体

    我正在尝试更改标签字体 但是我在属性检查器中设置的每种字体都与系统字体不同 不要更改任何内容 模拟器或故事板都不会更改 我什至尝试使用属性字符串以编程方式设置字体 出现相同的系统字体 感谢您的帮助 目前您无法使用 WatchKit 中包含的
  • 如何获取 UIElement 的父级?

    好的 我知道FrameworkElement 它是一个直接子类UIElement has a Parent财产 但是Panel对象有类型的子对象UIElement not FrameworkElement The Children属性是类型
  • npm 错误! 405 不允许的方法:express@latest

    此处发布的几个 405 相关问题中 没有一个适用于我的问题 以下是我从台式电脑上的 Windows 7 发出的命令 npm install express 这是错误消息 npm ERR code E405 npm ERR 405 Metho
  • Discord.js MessageEmbed fields.flat 不是函数

    我正在使用 JavaScript 和 Discord js 制作一个 Discord 机器人 在那里 我想将 RichEmbed MessageEmbed 我不知道它是如何调用的 发送到通道 但它没有发送嵌入 而是在discord js 中
  • 模板化上下文中的显式析构函数

    我想明确地销毁一个vector在模板化的上下文中 以下内容对我有用 GNU C 4 3 4 4 和 Clang 1 1 template
  • Visual Studio 2015 中的 Qt 项目:“无法解析的外部符号 wWinMain”

    整个错误输出是 LNK2019 unresolved external symbol wWinMain referenced in function int cdecl scrt common main seh void scrt comm
  • 对于“不”来说,什么更“Pythonic”[重复]

    这个问题在这里已经有答案了 两种方式我都见过 但哪种方式更Pythonic a 1 2 3 version 1 if not 4 in a print is the not more pythonic version 2 if 4 not