从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并创建数据库吗?如果你想在不迭代所有课程的情况下完成这些操作,那么你需要一个不同的数据结构-是的,这就是为什么我想知道是否有不同的数据结构/方法。使用数据帧怎么样?