以下Pyhon代码打印什么?

时间:2019-11-10 21:57:59

标签: python list for-loop lexicographic

animals = ['horse', 'Pig', 'dog', 'Owl', 'lion', 'Hare', 'baboon', 'Fish', 'tiger', 'Zebra', 'Cow', 'Mouse', 'quail', 'Elephant']

for animal in animals:

    if (animal >= 'M') and (animal <= 'Z'):

            print(animal)

问题1:

如何理解(animal >= 'M') and (animal <= 'Z')

问题2:

正确答案是Pig Owl Mouse,为什么在这种情况下不打印Zebra

3 个答案:

答案 0 :(得分:0)

就像zvone所指出的那样,按字母顺序比较字符串,因此不会打印Zebra。

在这种情况下,字母顺序应该是

X ÿ ž ZA 斑马

答案 1 :(得分:0)

  1. 按字母顺序在“ M”和“ Z”之间的动物。
  2. 在python中排序时,“ Zebra”在“ Z”之后。

答案 2 :(得分:0)

从a到z的顺序类似于字母字符:

[“ a”,“ aa”,“ aaa” ...“ ab”,“ aba”,“ abaa” ...“ b” ...“ z”,“ za”,“ zaa”。 .. “ zebra” ...“ zzzzz” ...]

取决于它们的ascii等效字符串的表示形式是