循环和索引问题

时间:2016-02-22 10:57:50

标签: python

mountains = [["Whitney",    4412, 36.578, -118.292],
             ["Williamson", 4384, 36.656, -118.311],
             ["Sill",       4312, 37.096, -118.504],
             ["Shasta",     4303, 41.409, -122.195],
             ["Russell",    4281, 36.590, -118.291]]
def printAllMountains(mntlist):
    for mountain in mntlist:
        printRow(mountain)
        print()
def printRow(row):
    for item in row:
        print(item, "   ", end="")

printAllMountains(mountains)

def findMountain(name, mtnlist):
    for mountain in mtnlist:
        if name == mountain[0]:
            return mountain

为什么if name == mountain[0]:为0?这不是指索引0吗?

这与迭代有关吗?

1 个答案:

答案 0 :(得分:0)

for mountain in mtnlist:在这里,您正在迭代列表列表 - 我们将其称为子列表

if name == mountain[0]:在这里你要检查提供的名称(当调用函数时)是否是子列表中的名称,现在如果条件为真,我们return mountain(子列表) )。

所以为了把它包起来,我们在调用时比较提供给函数的名称和列表{0}中索引0的子列表中的名称