2015-02-03 2 views
1

키에 값을 저장하는 사전을 만들려고합니다. 키가 이미 존재하면 값이 키에 추가됩니다. 값의 목록을 만드십시오. dict.has_key 메서드가 사용되지 않으므로 python 3을 사용하고 있습니다. 누군가 올바른 방향으로 나를 가리켜 주시겠습니까?사전에있는 키에 여러 값을 추가하는 문제 (파이썬)

Binary.txt :

from collections import defaultdict 

d = defaultdict(list) 

d[key].append(item) 

: 키가 우리가 항목을 키를 생성하고 추가합니다하지 않는 경우 우리는 항목을 추가 존재하는 경우

N = N D 
N = D 
D = 0 
D = 1 



import sys 
import string 

#default length of 3 
stringLength = 3 

#get last argument of command line(file) 
filename1 = sys.argv[-1] 


#get a length from user 
try: 
    stringLength = int(input('Length? ')) 
    filename = input('Filename: ') 
except ValueError: 
    print("Not a number") 

#checks 
print(stringLength) 
print(filename) 

def str2dict(filename="Binary.txt"): 
    result = {} 
    with open(filename, "r") as grammar: 
     #read file 
     lines = grammar.readlines() 
     count = 0 
     #loop through 
     for line in lines: 
      #append info 
      print(line) 
      line = line.rstrip('\n') 

      if line[0] in result: 
       result[line[0]].append(line.split('=')[1]) 

      else: 

       result[line[0]] = line.split('=')[1] 
      print (result) 
    return result 

print (str2dict("Binary.txt")) 
+0

좋은 방법이 있기 때문에 더 이상 사용되지 않습니다. if dict.has_key (key) 대신'if key in dict'을 사용하십시오. –

답변

2

가하는 defaultdict를 사용 그리고 단순히

result = defaultdict(list) 

:

코드에서 0
result[line[0]].append(line.split('=')[1]) 

키가 존재하는지 확인할 필요가 없습니다.

관련 문제