亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用密鑰之一作為索引并使用其他密鑰作為值寫入文件

使用密鑰之一作為索引并使用其他密鑰作為值寫入文件

九州編程 2021-04-01 14:18:23
我對編程以及python都是新手。我一直在嘗試實施它,但沒有成功,希望您的幫助。我有一本奇怪的鍵值的字典。我需要將其中一個鍵用作索引號,將另一個鍵(即第二個鍵)用作值,并將字典中存儲的值用作第三列。例如,如果字典是{'Michael', 'Student<matriculation no>', 'marks obtained' :  40 }結果應該是這樣的Name                  Admission no                 marks obtainedMichael              matriculation no                    40sara                 matriculation no                    60其中,矩陣no是從字典的第二個鍵提取的值(每個值不同)并持續約100行。請提出一種執行此操作的方法。
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

您沒有多個鍵。在您的示例中,您的鍵是元組('Michael', 'Student', 'marks obtained')(順便說一句,您的字典語法是錯誤的:它應該{('Michael', 'Student', 'marks obtained') : 40}基于您的意思)。

如果可以保證沒有兩個學生有相同的名字(也許您可能包括姓氏和中間名字的首字母?。?,那么您可以僅使用他們的名字作為關鍵字。然后,將值設為元組將是有意義的(matriculation, marks obtained)。像這樣:{"Michael" : ('Student', 40)}。

當您想打印這些學生時,您可能會說print name, students[name][0], "no", students[name][1]students您的字典在哪里,name是一個字符串,它是學生的名字,例如'Michael'。

除了'Student'順便說一句,我不確定還有什么可以入學的。在我看來,您不需要包括該值,除非您實際上可以具有其他值。

這里的一個很好的隱喻是認為'Michael'與他相關的一些數據,即他的入學狀態和獲得的分數數量。入學狀態既不'Michael'與之相關(特別是),也沒有'Michael'與之相關的40個分數(尤其是),因為這些事情可能發生在其他人身上。因此,正確的密鑰是學生的姓名。鍵應該是唯一的-當它們不是唯一鍵時,您會遇到稱為沖突的問題,其中兩個或多個數據(值)與同一事物(鍵)相關聯。


大編輯

在查看了您編輯過的帖子后,看來您的密鑰實際上應該是入學號,因為它永遠不會相同。因此,現在您的字典應該是{matriculation_no : (name, marks)}。現在print students[matriculation_no][0], "Admission", matriculation_no, students[matriculation_no][1]就是打印或類似的東西。這取決于您是否要"Admission"在字符串中輸入。

如果要寫入文件,請file.write()改用。


查看完整回答
反對 回復 2021-04-06
  • 1 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號