从OrderedDict列表中查找项目的最具python风格的方式是什么?

从OrderedDict列表中查找项目的最具python风格的方式是什么?,python,python-3.x,list,dictionary,Python,Python 3.x,List,Dictionary,我有一个显示课程信息的有序听写列表 看起来是这样的: [ ... OrderedDict([('c_number', '506'), ('c_name', 'Learning and Cognition'), ('c_category', 'B'), ('c_credits', '4')]), OrderedDict([('c_number', '504'), ('c_name', 'Research Design'), ('c_category', 'A'), ('c_credits', '4

我有一个显示课程信息的有序听写列表 看起来是这样的:

[
...
OrderedDict([('c_number', '506'), ('c_name', 'Learning and Cognition'), ('c_category', 'B'), ('c_credits', '4')]),
OrderedDict([('c_number', '504'), ('c_name', 'Research Design'), ('c_category', 'A'), ('c_credits', '4')]), 
OrderedDict([('c_number', '616'), ('c_name', 'Research Techniques for Non-Experimental Social Sciences'), ('c_category', 'A'), ('c_credits', '4')]),
...
]

我需要找到一种方法来访问所有的列值,而不必对行进行迭代。有没有一种方法可以在不遍历每一行的情况下执行此操作

我是否应该使用其他数据结构来存储所有这些数据,从而使其更易于操作

我要执行以下操作:

查找列表中是否有特定的课程号 总结特定课程类别的学分 查找列表中的课程是否足以满足预科要求
欢迎提出任何建议和想法

以下是为您的数据创建轻量级数据库的第一步,该数据库可以使用SQL轻松查询:

import sqlite3
DBNAME = "course_catalog.db"

def create_table():
    with sqlite3.connect(DBNAME) as conn:
        curs = conn.cursor()
        sql = """CREATE TABLE IF NOT EXISTS courses
        (
            id integer primary key,
            c_number TEXT
            c_name TEXT
            c_category TEXT
            c_credits INTEGER
        )
        """
        curs.execute(sql)            

请参见示例:

我需要找到一种方法来访问所有列值,而不必迭代行。有没有一种方法可以在不遍历每一行的情况下执行此操作?不,没有。你必须以某种方式迭代有序字典。不是列表:按c_编号索引的字典?你想过使用sqlite并创建数据库吗?如果你想在不迭代所有课程的情况下完成这些操作,那么你需要一个不同的数据结构-是的,这就是为什么我想知道是否有不同的数据结构/方法。使用数据帧怎么样?