Python 使用一个键作为索引,另一个键作为值写入文件

Python 使用一个键作为索引,另一个键作为值写入文件,python,Python,我对编程和python都很陌生 我一直在努力实现它,但没有成功,我希望你的帮助 我有一本带有奇怪键值的字典。我需要使用其中一个键作为索引号,另一个键(即第二个键)作为值,同时使用字典中存储的值作为第三列 例如,如果字典是 {'Michael', 'Student<matriculation no>', 'marks obtained' : 40 } 其中,预科号是从字典的第二个键中提取的值(每个值不同) 这大约持续了100行 请建议一种方法来执行此操作。您没有多个键。在您的示例中

我对编程和python都很陌生

我一直在努力实现它,但没有成功,我希望你的帮助

我有一本带有奇怪键值的字典。我需要使用其中一个键作为索引号,另一个键(即第二个键)作为值,同时使用字典中存储的值作为第三列

例如,如果字典是

{'Michael', 'Student<matriculation no>', 'marks obtained' :  40 }
其中,预科号是从字典的第二个键中提取的值(每个值不同)

这大约持续了100行


请建议一种方法来执行此操作。

您没有多个键。在您的示例中,您的键是元组
('Michael','Student','marks govered')
(顺便说一下,您的字典语法是错误的:根据您的意思,它应该是
{('Michael','Student','marks govered'):40}

如果你保证没有两个学生有相同的名字(也许你可以包括姓氏和中间的首字母!),那么你可以只使用他们的名字作为键。然后,将该值设置为元组(入学、获得分数),这是有意义的。像这样:
{“迈克尔”:('Student',40)}

当你想打印这些学生时,你可以说
print name,students[name][0],“no”,students[name][1]
,其中
students
是你的字典,
name
是学生姓名的字符串,例如
'Michael'

顺便说一句,除了“学生”之外,我不知道你还有什么可以申请入学的。在我看来,你不需要把它包括在内,除非你能有其他的价值观

这里有一个很好的比喻,就是把“迈克尔”想象成拥有一些与他相关的数据,即他的入学状态和获得的分数。被录取的状态没有与之相关的“迈克尔”(特别)也没有与获得40分相关的“迈克尔”(特别),因为这些事情可能发生在其他人身上。因此,正确的答案是学生的名字。键应该是唯一的-如果它们不是唯一的,则会遇到称为冲突的问题,其中两个或多个数据(值)与同一事物(键)关联


大编辑

看了你编辑过的帖子后,你的答案似乎应该是入学号,因为它从来都不一样。所以现在你的字典应该是{入学考试编号:(姓名、分数)}。印刷现在是
印刷学生[预科号][0]、“入学”、预科号、学生[预科号][1]
之类的东西。这取决于您是否希望字符串中包含
“准入”


次要编辑:


如果要写入文件,请改用。

这不是有效的字典。.字典有1个键和1个值。您的值可能包括列表或元组,但不能超过1个键。感谢Brendan和Bill@Bill:现在我已经很好地理解了它们之间的区别,这让我很长时间都很困惑。谢谢:)您好,谢谢,但我真正的问题是将这些值写入文件。@Michael_Scofield然后使用
write()
,而不是说
print
。以下是Python中的文件I/O操作:谢谢大家:)我终于可以提取所有必需的变量,将它们写入文本文件,然后导入Matlab中:)
Name                  Admission no                 marks obtained

Michael              matriculation no                    40

sara                 matriculation no                    60