当前位置: 首页 > 知识库问答 >
问题:

PyCharm:“简化链式比较”[重复]

单于耘豪
2023-03-14

我有两个整数值cnt_1cnt_2,我写以下语句:

if cnt_1 < 0 and cnt_2 >= 0:
    # some code

此语句带有下划线,工具提示告诉我必须:

简化链式比较

据我所知,这种比较几乎和它们来的一样简单。我错过了什么?

这个问题和链接有点不同,比较起来有不同的变量

共有2个答案

慕容铭
2023-03-14

Pycharm试图告诉你,这个方程可以简化。如果您想知道PyCharm希望它是什么,PyCharm将帮助您自动完成此修复。如果将光标定位到带下划线的代码并执行以下操作:

Alt输入-

PyCharm将此更改为:

if cnt_1 < 0 <= cnt_2:

警告现在将消失。如果您更喜欢原始代码,只是希望警告消失,您可以将光标放在警告上,然后执行以下操作

Alt输入-

并且这种类型的错误将不再被标记。您还可以通过执行以下操作在全球范围内访问这两个选项。

代码-

这将为您提供所选范围内所有警告的列表,并为您提供一种自动修复其中许多警告的方法。

姜晨
2023-03-14

您的表达式可以重写为:

if cnt_1 < 0 <= cnt_2:

这被称为比较链接。

 类似资料:
  • 我有以下功能,PyCharm正在提醒我关于“简化链式比较”的语句。代码工作,我得到了我想要的对象,只是想知道警告以及如何使其更好?

  • 我正在用PyCharm编写一些python代码。当我编写以下测试时,它给了我一个警告。

  • 我有这个代码: 我的IDE说:这看起来应该简化,即Python链式比较。 什么是链式比较,如何简化?

  • 但是Pycharm说我可以简单地说: 我做了一些搜索,却找不到类似的东西。我的问题是这样简化此函数是否正确: 如果是这样,它是否安全,除了它更短之外,这个版本和非简化版本之间有什么区别吗?如果不是正确的简化方式,那是什么呢?

  • 我尝试在两个文件之间进行链式比较,如果结果在指定的时间间隔内,则打印/写出结果。 这就是我目前所拥有的。 test1文件: 测试2文件: 剧本本身: 我的首选输出是在test3中只包含以下行: 在第一列中有匹配的ID 第3列和第4列中的两个数值介于test1文件中给出的值之间 我没有得到输出,我不知道哪里出错了。

  • 问题内容: 假设我有一对班 我希望先按第一个值排序,然后再按第二个值排序。现在,如果我这样做 一切正常,列表按对的第一个值排序,但是如果我这样做 它因错误而失败 好的,所以它可能无法推断参数,所以如果我这样做 它因错误而失败 为什么它对compare()而不是compare()。thenComparing()有效? 问题答案: 该错误似乎与的通用参数有关。一种解决方法是尝试使用显式类型: 请注意,