澄清在迭代列表的for循环中使用已声明的变量

时间:2019-06-07 06:48:02

标签: python string list

我不明白为什么在将可变动物声明为字符串“孔雀”之后,可以在for循环中使用它,以便在每个列表元素中输出最小字符。 for循环中的动物代表什么?

我本来以为它将检查孔雀字符串是否在列表元素中,然后打印出最小的字符。我正在寻找有关此代码如何工作的一般解释。

此代码的输出为: G 一种 大号 r

animal='Peacock'
for animal in ['Giraffe','Alligator','Liger']:
    print(min(animal))
print(max(animal))

3 个答案:

答案 0 :(得分:2)

让我逐步说明:

  • 您首先遍历列表['Giraffe','Alligator','Liger'],这将为您Giraffe进行第一次迭代,依此类推...
  • 然后,您将获得字符串的最小值(谁愿意这样做:P),即G,然后依次为AL,因为当您获得其中ord(your number here)个值,是ord个值列表中的最小值。
  • 最后一行将给出animal的最大值,这是自退出循环以来的最后一个元素,因此Liger的最大值为r,因为它是{ {1}}是最大的。

这就是原因,ord也会在代码被覆盖后退出您的代码。

答案 1 :(得分:1)

声明一个变量调用animal

animal='Peacock'

现在,您擦除变量动物的内容,该内容将依次包含'Giraffe',然后依次'alligator''Liger',因为它将依次包含在列表的每个元素中。

for animal in ['Giraffe','Alligator','Liger']:
    print(min(animal))
print(max(animal))

要更好地理解,可以运行:

animal='Peacock'
print(animal)
for animal in ['Giraffe','Alligator','Liger']:
    print(animal)

答案 2 :(得分:0)

您在这里所做的实际上是在每个列表中找到最小字符:意思是,由于G在“长颈鹿”中的优先级最低,因此会打印出G。

给出的例子