arrays - 测试值是否在列表/数组中 (Ti-Basic)

有没有办法测试一个值是否在列表中? 在 Python 中,我认为你可以做类似的事情 '如果 n 在 myList 中: print("值​​ N 在列表中。")'

我不想使用 for 循环来分别检查每个值,除非它是唯一的选择。 我使用的是 Ti-84 Plus。

最佳答案

假设我已经正确地考虑过了,这应该可以工作。非常简单,其中 L₁ 是要搜索的列表,X 是要查找的值。

max(not(L₁-X

逐步分析:

  1. L₁-X:从列表中的所有内容中减去值。现在,如果此列表包含零,则表示我们的值在 L₁ 中。
  2. not(L₁-X:反转列表中的所有内容。这会将所有零转换为 1,并将其他所有内容转换为零。现在,如果此列表包含一个 1,则表示我们的值在L₁。如果列表全为零,则不是。
  3. max(not(L₁-X:获取列表中的最大值。如上所述,如果值不在 L₁ 内,则列表将为全零, 因此最大值将为零。如果 L₁ 中有值,则最大值将为一。

这使得检查变得如此简单:

If max(not(L₁-X
Disp "The value was found:",X

https://stackoverflow.com/questions/46517466/

相关文章:

arrays - Perl:在哈希数组中找到最大值和最小值

typescript - TypeScript 有 toString() 版本吗

php - 删除 wordpress 站点中超过 2 年的帖子

r - 在 R 中制作特定的分位数图

amazon-web-services - 如何在不使用 AutoScaling 的情况下使用 aw

node.js - 在 Node.js 中生成唯一 ID 的最佳方法是什么?

python - AWS Lambda 压缩文件命令

wpf - 字符串格式正值和负值以及条件颜色格式 XAML

sql - Oracle SQL - 从给定的字符串形成一个虚拟表以与另一个表连接

julia - 为什么 Julia 闭包不复制数组?