gpt4 book ai didi

python : Can Dictionary be used for indexing?

转载 作者:太空狗 更新时间:2023-10-30 00:34:29 26 4
gpt4 key购买 nike

这是我在 StackOverflow 上的第一个问题,我搜索了很多网站,但找不到我要找的东西(或没有注意到)。请不要让我气馁:)

此外,这是我第一次使用 Python 进行编程,我很困惑。

我有一个文本文件,里面有 3 列,用空格分隔。这些列是 DeptIDCourseIDNumberofStudentsEnrolled

这是示例数据:

101 10001 23
102 10002 30
102 10004 5
102 10005 13
105 10006 59
105 10007 77

因此,每当我调用 DeptID 索引和 CourseID 索引时,程序都会给我注册的学生人数。

示例:NumberofEnrolled("101","10001") 应给出 23 作为答案。

我应该试试矩阵吗?因为我有点迷路了。我知道我想要什么,但我不知道它在 Python 中叫什么。

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]

test_dict 输出为:

{'101': '10001', '102': '10005', '105': '10007'}

对于多个数据,此输出仅取最后一个数据。我想我需要一种可以在内部容纳多对的类型。

最佳答案

您可以轻松地将数据读入字典的字典中:

data = {}
for line in file:
dept, course, num_students = line.split()
data.setdefault(dept, {})[course] = int(num_students)

现在你可以查找:

>>> data["101"]["10001"]
23

关于 python : Can Dictionary be used for indexing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44234766/

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