2015-10-07 69 views
-3
['1', 'james', '1', '90\n'] 
['1', 'james', '2', '78\n'] 
['1', 'james', '3', '87\n'] 
['1', 'james', '4', '98\n'] 
['2', 'alice', '1', '95\n'] 
['2', 'alice', '2', '91\n'] 
['2', 'alice', '3', '100\n'] 
['2', 'alice', '4', '98\n'] 

基本上,這就是我所擁有的。從文本文件中讀取一堆列表。 我想弄清楚輸出這樣的東西到這個控制檯的功能。將列表轉換爲計算字段的字典

1, james: 88.65 (this number is weigh-adjusted mark for all assignments) 
         *Weight for each assignment 0.2, 0.25, 0.25, 0.3 
2, alice: 96.15 

參數分別是學號,姓名,職務#和標記。 每個人在每個任務的文本文件中都至少有四行# 我是爲自我教學目的這麼做的,因爲我是新來的Python。 非常感謝在這種情況下的任何幫助。我似乎無法從網上教程

+0

所以這些列表是對象還是隻是字符串? – garg10may

+4

到OP:到目前爲止您嘗試過什麼?對於很多人來說,這個問題很容易回答,但請不要回答。讓OP顯示一些努力。 –

+0

我操縱了文本文件,以便將它顯示爲字符串列表 – krnactry

回答

0

找到任何線索至於你問如何進步,而不是實際的代碼,這裏是關於如何攻擊問題的一些建議:

  1. 使用Python with聲明打開您的文本文件。
  2. 使用csv模塊從文件加載數據。這會給你你的名單,每行一個,也意味着最後的條目不包括\n
  3. 使用itertools.groupby功能與CSV閱讀器和基於第一條目的鍵返回你kg,其中k是關鍵(如1)和g是一個迭代器給你匹配1項的列表。
  4. 您可以調查列表理解,然後將這些匹配行轉換爲保存加權輸出的列表。
  5. 然後,您可以在列表上使用sum來產生您的價值。
  6. 然後您將所有數據都打印出一行輸出。