【发布时间】:2015-05-03 01:33:27
【问题描述】:
我有两个形式的元组列表:
playerinfo = [(ansonca01,4,1871,1,RC1),(forceda01,44,1871,1,WS3),(mathebo01,68,1871,1,FW1)]
idmatch = [(ansonca01,Anson,Cap,05/06/1871),(aaroh101,Aaron,Hank,04/13/1954),(aarot101,Aaron,Tommie,04/10/1962)]
我想知道的是如何遍历这两个列表,如果“playerinfo”中的元组中的第一个元素与“idmatch”中的元组中的第一个元素匹配,则将匹配的元组合并在一起以产生一个新的元组列表?形式:
merged_data = [(ansonca01,4,1871,1,RC1, Anson,Cap,05/06/1871),(...),(...), etc.]
新的元组列表的 ID 号将与正确玩家的名字和姓氏相匹配。
背景信息:我正在尝试合并两个棒球统计数据的 CSV 文档,但包含所有相关统计数据的文档不包含球员姓名,仅包含参考编号,例如'ansoc101',而第二个文档的一列包含参考编号,另一列包含相应玩家的名字和姓氏。
CSV 的大小太大,无法手动执行此操作(大约 20,000 名玩家),因此我正在尝试自动执行此过程。
【问题讨论】:
-
元组是不可变的;您无法在构造后更改它们包含的变量。我只会使用列表列表,甚至更好的是对象列表或单个对象,其中键是 id 号。