所以我一直在 StackOverflow 上尋找正確解決我的問題的方法,但我沒有找到任何合適的方法。
我正在接收一個檔案,其中包含具有以下格式的關聯值的單詞:
alone,1
amazed,10
amazing,10
bad,1
etc.
我正在接收這個文本檔案并閱讀這些行,它將每一行分成一個串列。然后我需要將此串列轉換為字典型別,其中關鍵字和值保持關聯。
我在另一個問題中找到了這個問題的解決方案,但它目前提供了一個包含\n在字典值部分中的輸出。
這是代碼:
keywords_file = open('keywords.txt')
keywords = keywords_file.readlines()
def keyword_to_dictionary(keywords):
result = [{}]
for item in keywords:
key, val = item.split(",", 1)
if key in result[-1]:
result.append({})
result[-1][key] = val
return result
輸出:
[{'alone': '1\n', 'amazed': '10\n', 'amazing': '10\n', 'bad': '1\n', 'best': '10\n',
'better': '10\n', 'excellent': '10\n', 'excited': '10\n', 'excite': '10\n', 'excites':
'10\n', 'exciting': '10\n', 'glad': '10\n', 'god': '5\n', 'good': '7\n', 'great': '7\n',
'greatest': '10\n', 'haha': '5\n', 'hahaha': '5\n', 'happy': '10\n', 'hate': '1\n',
'hurt': '1\n', 'hurts': '1\n'}]
輸出更長,但我希望能對正在發生的事情有一個體面的了解。我明白這個問題,但我不知道如何解決它。
為了說明如何使用它,我有一個 comp sci 作業,它要求我將幾千行 twitter 資料與此檔案中的關鍵字等同起來,輸出一種將要關聯的平均幸福水平發送推文的地理區域,由時區決定。我需要能夠訪問關鍵字和等效值才能做到這一點,并認為字典是做到這一點的最佳方式。
context tldr:在遍歷數千行 Twitter 資料時需要訪問與之關聯的關鍵字和值。
任何幫助將不勝感激。
如果這篇文章有任何問題,或者需要更多我沒有提供的資訊,我們深表歉意。
提前致謝。
uj5u.com熱心網友回復:
您可以使用字典理解:
with open('keywords.txt') as f:
result = {k: int(v) for line in f for k,v in [line.strip().split(',')]}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/347798.html
上一篇:如何撰寫一個程式來分析字串、識別主題標簽、計算它們并將它們添加到字典中?
下一篇:使用串列和資料框從a創建字典
