Jas*_* K. 5 python indexing dictionary
这是我在StackOverflow上的第一个问题,我搜索了很多网站,却找不到我想要的东西(或者没有注意到).请不要劝阻我:)
此外,这是我与Phyton的第一次编程经历,我很困惑.
我有一个TXT文件,里面有3列用WhiteSpaces隔开.这些列DeptID,CourseID,NumberofStudentsEnrolled.
以下是示例数据:
101 10001 23
102 10002 30
102 10004 5
102 10005 13
105 10006 59
105 10007 77
Run Code Online (Sandbox Code Playgroud)
因此,每当我调用DeptID索引和CourseID索引时,该程序将为我提供一些注册的学生.
示例:NumberofEnrolled("101","10001")应该给出23答案.
我应该尝试使用矩阵吗?因为我有点迷茫.我知道我想要什么,但我不知道它在Phyton中叫什么.
import numpy
depts = []
courses = []
file = open("C:\\Info.txt", "r")
# SPLIT EVERY LINE INTO 3 PIECES : DeptID , CourseID , Enrolled
for line in file:
depts.append(line.split()[0]) # ADD Depts
courses.append(line.split()[1]) # ADD Courses
# CLOSE THE FILE
file.close()
# I HAVE TRIED NUMPY BUT COULDN'T HANDLE WITH IT.
numpyList = numpy.zeros((57, 57), dtype = numpy.int32)
dept_array = numpy.array(dept)
course_array = numpy.array(course)
test_dict = {}
for i in range(len(dept_array)):
test_dict[dept_array[i]] = course_array[i]
Run Code Online (Sandbox Code Playgroud)
test_dict输出是:
{'101': '10001', '102': '10005', '105': '10007'}
Run Code Online (Sandbox Code Playgroud)
此输出仅获取多个数据的最后数据.我想我需要一种可以容纳多对内部的类型.
您可以轻松地将数据读入字典词典:
data = {}
for line in file:
dept, course, num_students = line.split()
data.setdefault(dept, {})[course] = int(num_students)
Run Code Online (Sandbox Code Playgroud)
现在你可以查找:
>>> data["101"]["10001"]
23
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |