2014-05-17 3 views
1

dict을 문자열로 변환 할 수 있지만 문자열을 dict로 다시 변환 할 수 있습니까 ??파이썬에서 문자열을 변환 할 수 있습니까?

코드 여기

c={'a':3,'b':445} 
d=str(c) 

난 딕셔너리를 입력 (D)를 대체 할 수있다.

문자열의 형태로 dict을 취하고 키를 사용하여 모든 숫자를 암호화하고 암호화 된 숫자로 사전을 유지하려고합니다. 내가 질문 권리를 얻는 경우에

+0

실제로 'dict'을 문자열로 변환 할 필요가 없습니다. – roippi

답변

4

, 당신은이 방법을 얻을 수 있습니다

>>> import ast 
>>> ast.literal_eval(d) 
{'a': 3, 'b': 445} 
+0

잘 작동하지만 현재 문제가 발생하고있는 float 요소의 경우 자동 반올림합니다 – ceasif

+0

@ceasif 내가 막기가 표시되지 않습니다 : http://ideone.com/GAI2bJ – ovgolovin

+0

'mapping = df.to_dict() D = STR (매핑) 전자 = ast.literal_eval (D) 인쇄 D 인쇄 전자 ' – ceasif

0

당신은 json 도구를 사용할 수 있습니다.

사용법은 간단합니다.

import json 
test = {"a": 1} 

# Change dict to string 
json_str = json.dumps(test) 
print "json_str:= ", json_str 

# Change string to dict 
json_obj = json.loads(json_str) 
print "json_obj:= ", json_obj 
+0

이 doesnot 작업 키에 관련된 값은 @ceasif – ceasif

+0

이 맞다 :(튜플 때.이 목록에 튜플 개체를 캐스팅 ast.literal_eval은 문자열에 대해 dict에 올바른 방법입니다. 경고 해 주셔서 감사합니다 :). – umut

관련 문제