Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在if循环中打印完整列表而不是可编辑列表_Python_Multidimensional Array_Iterator - Fatal编程技术网

Python 在if循环中打印完整列表而不是可编辑列表

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

我正在创建一个类搜索程序,它接受关键字并通过类的描述元素进行搜索

我试图得到结果[[]]以返回整个列表(r),但它只返回搜索词后列表(r)的其余部分。我不明白为什么r会因为if语句而改变

table_row_col是一个[class][description elements]格式的二维数组,搜索词是一个字符串

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]等。它会忽略之前的所有内容,包括数组的搜索词。