我的列表格式如下:
gymnastics_school,participant_name,all-around_points_earned
我需要按学校划分,但保留分数
import collections
def main():
names = ["gymnastics_school", "participant_name", "all_around_points_earned"]
Data = collections.namedtuple("Data", names)
data = []
with open('state_meet.txt','r') as f:
for line in f:
line = line.strip()
items = line.split(',')
items[2] = float(items[2])
data.append(Data(*items))
以下是它们的设置示例:
Lanier City Gymnastics,Ben W.,55.301
Lanier City Gymnastics,Alex W.,54.801
Lanier City Gymnastics,Sky T.,51.2
Lanier City Gymnastics,William G.,47.3
Carrollton Boys,Cameron M.,61.6
Carrollton Boys,Zachary W.,58.7
Carrollton Boys,Samuel B.,58.6
La Fayette Boys,Nate S.,63
La Fayette Boys,Kaden C.,62
La Fayette Boys,Cohan S.,59.1
La Fayette Boys,Cooper J.,56.101
La Fayette Boys,Avi F.,53.401
La Fayette Boys,Frederic T.,53.201
Columbus,Noah B.,50.3
Savannah Metro,Levi B.,52.801
Savannah Metro,Taylan T.,52
Savannah Metro,Jacob S.,51.5
SAAB Gymnastics,Dawson B.,58.1
SAAB Gymnastics,Dean S.,57.901
SAAB Gymnastics,William L.,57.101
SAAB Gymnastics,Lex L.,52.501
Suwanee Gymnastics,Colin K.,57.3
Suwanee Gymnastics,Matthew B.,53.201
在处理之后,它应该看起来像:
Lanier City Gymnastics:participants(4)
就像它自己的清单一样
Carrollton Boys(3)
就像它自己的清单一样
La Fayette Boys(6)
等等
我建议把它们放在dictionaries:
然后可以通过以下方式进入学校:
编辑: 假设您首先需要将整个数据集作为一个列表,然后希望将其划分为更小的列表,您可以从该列表生成字典:
当需要获取列表的子集时,可以使用切片:
其中
start
、stop
和step
是可选的(有关更全面的介绍,请参见link)相关问题 更多 >
编程相关推荐