在Python2.7中搜索2D数组(如果字符位于该位置)

在Python2.7中搜索2D数组(如果字符位于该位置),python,arrays,Python,Arrays,嗨,我试图搜索我的数组,如果一个特定的字符在那个位置,然后打印到控制台 这是到目前为止我的代码 students = [['Gary','Y'],['Steve','N'],['Tom','Y']] for i in range (len(students)): if students[i,1] == 'Y': print (students(i,0)) 您可以这样做: for student in students: if student[1

嗨,我试图搜索我的数组,如果一个特定的字符在那个位置,然后打印到控制台

这是到目前为止我的代码

students = [['Gary','Y'],['Steve','N'],['Tom','Y']]

for i in range (len(students)):
        if students[i,1] == 'Y':
            print (students(i,0))

您可以这样做:

for student in students:
    if student[1] == 'Y':
        print(student[0])
如果您正在寻找单班轮,那么:

print [student[0] for student in students if student[1]=='Y']
可能:

students = [['Gary','Y'],['Steve','N'],['Tom','Y']]

for i in range (len(students)):
        if students[i[2]] == 'Y':
            print (students[i])

您没有正确使用索引。 对于python,您需要按如下方式使用它:

for i in range (len(students)):
      if students[i][1] == 'Y':
          print (students[i][0])

除了其他答案之外,您还可以尝试使用:


您可以使用
过滤器

filter(lambda i: i[1]=='Y', students)

那该怎么办
i
being整数不允许建立索引。我认为您不需要在此处使用
i
。一个简单的
学生循环将在这里工作。i是一个整数。@pissall显示了一个更好的方法。但是如果你想坚持你的代码,那么你可以使用我的建议。
filter(lambda i: i[1]=='Y', students)