2016-12-05 45 views
1

例如,說我有兩個文本文件,test_keys.txt如何將兩個文本文件轉換爲字典(小修補程序)?

2 
5 
7 

和test_values.txt

ace 
ventura 
pet detective 

我的代碼放到一個字典如下,以使這些文件。

with open('test_keys.txt') as file1: 
    keys = file1.readlines() 
with open('test_values.txt') as file2: 
    values = file2.readlines() 
print(sorted(dict(zip(keys,values)).items())) 

對此我得到

[(' 2\n', 'ace\n'), (' 5\n', 'ventura\n'), ('7', 'pet detective')] 

我怎樣才能在我的結果號碼前擺脫\ n和空間?我在file1.readlines()之後嘗試.replace('\ n',''),並且我得到一個'list'對象沒有屬性'replace',錯誤。有什麼建議麼?

+1

'keys = map(str.strip,file1.readlines())'? – jonrsharpe

+0

作品感謝 – ORM

+1

'dict(zip(keys,values))。items()' - 爲什麼整個'dict(...)。items()'部分?看起來多餘。 – user2357112

回答

2

使用列表解析鍵轉換爲數字並剝離值:

keys = [int(key) for key in keys] 
values = [value.strip() for value in values] 

然後按照你的代碼。