如何创建python字典
我将如何处理这个问题,我要创建一个字典,其中个人的名字是一个键,值是一个元组,由标记列表(共10个)和等级列表组成 因此,我在一个文本文件中: 乔希 巴勃罗 那的输出应该是如何创建python字典,python,loops,dictionary,Python,Loops,Dictionary,我将如何处理这个问题,我要创建一个字典,其中个人的名字是一个键,值是一个元组,由标记列表(共10个)和等级列表组成 因此,我在一个文本文件中: 乔希 巴勃罗 那的输出应该是{Josh:([8,8,6,7,9],'A','A','C','B','A']),Pablo:([7,9,8,9,9],'A','B','A','B']) 这就是我到目前为止所做的: def课程评分(学生档案): 有什么想法吗?根据你的问题和评论,我认为你对文本和输入没有问题。那么重点是如何划分分数和等级 您可以使用zip()
{Josh:([8,8,6,7,9],'A','A','C','B','A']),Pablo:([7,9,8,9,9],'A','B','A','B'])
这就是我到目前为止所做的:
def课程评分(学生档案):
有什么想法吗?根据你的问题和评论,我认为你对文本和输入没有问题。那么重点是如何划分分数和等级 您可以使用
zip()
来执行此操作
# This is an example for Josh, assuming you already have list call lines,
# lines = [(mark1, grad1), (mark2, grade2)......]
marks, grades = zip(*lines) # marks is a tuple of marks, grades is a tuple of grades.
好了
顺便说一句,
split()
函数将自动剥离'\n'
您尝试实现此功能的内容的可能副本?您在实现过程中遇到了哪些编程问题?我尝试使用.split('/t')在空白处拆分它,但我不知道如何创建一个包含两个列表的元组,其中第一个列表是分数,第二个列表是成绩。不过,在文本文件中,我有一个问题,我该如何区分带学生姓名的一行和带学生分数和成绩的一行?@AlexRayo如果您希望看到“Josh”或“Pablo”,只需添加一个If
语句,否则,您可以使用“If ord(line[0])>57或ord(line[0])<48`如果第一个字符不是数字,则返回trueord()
是一个内置函数,用于查看字符的ASCII代码,thanks@AlexRayo不客气
7 A
9 B
8 A
9 B
9 B
f = open('student.txt','r')
for line in f:
new_line = line.strip('\n').split()
# This is an example for Josh, assuming you already have list call lines,
# lines = [(mark1, grad1), (mark2, grade2)......]
marks, grades = zip(*lines) # marks is a tuple of marks, grades is a tuple of grades.