Python 在if循环中打印完整列表而不是可编辑列表
我正在创建一个类搜索程序,它接受关键字并通过类的描述元素进行搜索 我试图得到结果[[]]以返回整个列表(r),但它只返回搜索词后列表(r)的其余部分。我不明白为什么r会因为if语句而改变 table_row_col是一个[class][description elements]格式的二维数组,搜索词是一个字符串Python 在if循环中打印完整列表而不是可编辑列表,python,multidimensional-array,iterator,Python,Multidimensional Array,Iterator,我正在创建一个类搜索程序,它接受关键字并通过类的描述元素进行搜索 我试图得到结果[[]]以返回整个列表(r),但它只返回搜索词后列表(r)的其余部分。我不明白为什么r会因为if语句而改变 table_row_col是一个[class][description elements]格式的二维数组,搜索词是一个字符串 def search_class(search_term, table_row_col): result = [[]] row = 0 for r in tabl
def search_class(search_term, table_row_col):
result = [[]]
row = 0
for r in table_row_col:
for c in r:
if search_term in c:
result.insert(row, list(r))
row += 1
return result
示例结果:
关键词“Poly”
结果=
[本人
TR
下午1时40分
下午2:55
WNS 506
施密特,J]
不如
[数学09001
多项式方程
亲自
TR
下午1时40分
下午2:55
WNS 506
施密特,J]
当我把result.insert语句放在if循环之外时,整个类的描述就会被打印出来
任何帮助都将不胜感激。这是我第一次使用python,我仍在适应for循环。类似的东西应该可以工作。我改变了一点,但这里没有什么太疯狂的
def search_class(search_term, table_row_col):
result = []
for row in table_row_col:
if any(search_term in c for c in row):
result.append(row)
return result
table_row_col = [["MATH", "09023", "Polynomial equations", "In-person", "TR", "1:40PM", "506 Schmitt JR"],
["MATH", "09023", "Calculus", "Blended", "TR", "1:50pm", "704 Gregg]"],
["MATH", "09023", "Pressing the keys on a Calculator", "Virtual", "TR", "8:50pm", "804 JimmyCarlos]"]]
print(search_class("Calc",table_row_col))
如果有任何问题,请告诉我。如果你真的在安排真正的课程,希望一切顺利!如果没有电脑,那会很痛苦 你能给出一个导致错误结果的输入的完整例子吗?表是一个相当大的2D数组。但在速记中类似于表[MATH,09023,多项式方程,面对面,TR,1:40PM,506 Schmitt JR],[MATH,09023,微积分,混合,TR,1:50pm,704 Gregg]等]。如果关键字为“Calc”,则结果为[[Blended,TR,1:50pm,704 Gregg]等。它会忽略之前的所有内容,包括数组的搜索词。