快速比较元组时难以理解

时间:2018-12-10 10:14:12

标签: swift tuples

   Program 1:
   (1, "zebra") < (2, "apple")   // true because 1 is less than 2, "zebra" and "apple" are not compared

   Program 2:
  (3, "apple") < (3, "bird")    // true because 3 is equal to 3, "apple" is less than "bird"

   Program 3:
  (4, "dog") == (4, "dog")      // true because 4 is equal to 4, "dog" is equal to "dog"

在元组之间使用这些运算符的方式是什么

为什么苹果比鸟类少?

2 个答案:

答案 0 :(得分:1)

  

为什么苹果比鸟类少?

因为在罗马字母中,A代表苹果,B代表鸟类B。字母顺序是ABCDE ...

答案 1 :(得分:1)

一次比较一次对话中的一个元素,直到对所有元素进行比较或您找到答案为止。

(1, 9) < (2, 3)  // true

这是正确的,因为1 < 2。无需进行进一步的操作,因为从左到右检查,一旦发现一个元素的<true,整个元组为true。这和整数完全一样,两个整数都有相同的位数。 19 < 23,因为十位数。无需查看数字。


按字母顺序比较字符串。 "apple" < "zebra",因为它是按字母顺序排在第一位的(就像您按字母顺序排列单词列表一样)。


(1, "zebra") < (2, "apple") // true

这是正确的,因为1 < 2。我们甚至在考虑"zebra""apple"之前就停了下来,因为在这里它们无关紧要,比较已经满足<


(3, "apple") < (3, "bird")  // true

在这种情况下,我们比较33,但它们相等。此时,我们没有足够的信息来确定第一个元组是否为<第二个元组,因此我们继续进行下一个项目。从"apple" < "bird"开始,我们得出结论,整个第一个元组小于第二个元组。这就像比较3031。您查看十位数字并发现它们是相同的,因此继续进行比较。


(4, "dog") == (4, "dog")  // true

比较两个元组的相等性时,您从左到右比较元素。一旦发现不匹配,您可以退出并得出答案为false的结论。要确定答案为true,您必须比较所有相应的元素并发现它们都匹配。