gpt4 book ai didi

python - 列表/字典结构问题

转载 作者:行者123 更新时间:2023-11-30 22:37:38 25 4
gpt4 key购买 nike

我对如何构建我需要的列表/字典感到困惑。我从 ESPN 上抓取了三条信息: session 、球队以及球队主页的链接,以供将来统计数据抓取。

当程序第一次运行时,我想构建一个字典/列表,以便人们可以输入学校,它会打印学校所在的 session ,或者人们可以选择整个 session ,它会打印相应的列表学校。最终用户了解与每所学校关联的链接并不重要,但重要的是正确的链接与正确的学校关联,以便可以抓取该特定学校的 future 统计数据。

例如,废弃的信息是:

SEC、UGA、www.linka.comACC、FSU、www.linkb.com等等...

我知道我可以创建一个字典列表,例如:

sec_list=[{UGA: www.linka.com, Alabama: www.linkc.com, etc...}]
acc_list=[{FSU: www.linkb.com, etc...}]

问题是我必须在这里创建大约 26 个列表来举办每个 session ,这听起来太多了。有没有一种方法可以将所有内容集中到一个列表中,但仍然能够从特定 session 中提取学校或搜索学校并返回正确的 session ?当然,学校的链接也必须对应于正确的学校。

最佳答案

Python 附带 sqlite3处理数据库问题,它有一个 :memory:内存数据库模式。我认为它将用清晰的代码直接解决您的问题。

import sqlite3
from pprint import pprint

# Load the data from a list of tuples in the from [(conf, school, link), ...]
conn = sqlite3.connect(':memory:')
c = conn.cursor()
c.execute('CREATE TABLE Espn (conf text, school text, link text)')
c.execute('CREATE INDEX Cndx ON Espn (conf)')
c.execute('CREATE INDEX Sndx ON Espn (school)')
c.executemany('INSERT INTO Espn VALUES (?, ?, ?)', data)
conn.commit()

# Run queries
pprint(c.execute('SELECT * FROM Espn WHERE conf = "Big10"').fetchall())
pprint(c.execute('SELECT * FROM Espn WHERE school = "Alabama"').fetchall())

内存数据库非常容易创建和查询,因此它们通常是解决如何拥有多个查找键并对关系数据进行分析的问题的最简单的解决方案。尝试使用字典和列表来完成此类工作只会使问题变得不必要的复杂。

关于python - 列表/字典结构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43826504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com