在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)