如何创建常量组并检查变量是否属于或不属于该组?
更简洁的方式检查变量是否不在常量组中
嘿,完全懂你的痛点——写一堆(x != n) || (x != m)不仅啰嗦,后期维护也麻烦(比如要加新元素得改一大串)。下面给你几种不同编程语言里更清爽的实现思路,挑适合你用的就行:
1. 利用语言自带的成员检查语法(最推荐)
大部分现代编程语言都提供了直接检查元素是否在集合/数组里的语法,反过来判断就是“不在”的情况:
Python
a = {1, 2, 3, 4} # 用集合效率更高,数组也可以:a = [1,2,3,4] x = 5 if x not in a: print("x不在常量组a中")
not in是Python专门用来判断元素是否不存在于容器中的语法,简洁到直接读就能懂。
JavaScript
const a = [1, 2, 3, 4]; const x = 5; if (!a.includes(x)) { console.log("x不在常量组a中"); }
includes()方法会返回布尔值,取反就得到“不在”的判断。
C++
#include <vector> #include <algorithm> int main() { std::vector<int> a = {1, 2, 3, 4}; int x = 5; // 用std::find查找,找不到就等于end()迭代器 if (std::find(a.begin(), a.end(), x) == a.end()) { // 这里写x不在a中的逻辑 } }
如果是C++20及以上,还可以用std::ranges::find,写法更简洁。
2. 用Switch-Case(适合元素少的场景)
如果你的常量组元素不多,有些语言用switch-case也能让代码更整洁:
Java
int x = 5; boolean isInA = false; switch(x) { case 1: case 2: case 3: case 4: isInA = true; break; default: isInA = false; } if (!isInA) { // 执行x不在a中的逻辑 }
总结
优先用语言自带的成员检查方法,不仅代码可读性拉满,后期要给常量组加元素时,只需要修改集合/数组的定义就行,不用动判断逻辑。相比一堆||的写法,维护成本低太多啦!
内容的提问来源于stack exchange,提问作者tumble
相关产品推荐
相关产品推荐

