Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में String को Dictionary में Convert कैसे करें?


String को Dictionary में Convert करना

तरीका 1: ast.literal_eval() (सुरक्षित)

हम ast.literal_eval() का उपयोग यहां String को Python Expression के रूप में Evaluate करने के लिए कर सकते हैं। यह Safely Expression Node या Python Expression वाले String को Evaluate करता है। String या Node में केवल निम्न Python Literal Structures हो सकते हैं: Strings, Numbers, Tuples, Lists, Dicts, Booleans, और None।

>>> import ast
>>> x = ast.literal_eval("{'foo': 'bar', 'hello': 'world'}")
>>> type(x)
<class 'dict'>

तरीका 2: json Module (JSON Strings के लिए)

Dictionaries को JSON Strings के रूप में भी देखा जा सकता है। इस प्रकार हम String को Dict में Convert करने के लिए json Module का भी उपयोग कर सकते हैं।

>>> import json
>>> x = json.loads("{'foo': 'bar', 'hello': 'world'}")
>>> type(x)
<class 'dict'>

महत्वपूर्ण: JSON के लिए Double Quotes आवश्यक हैं: json.loads('{"foo": "bar"}')। Single Quotes काम नहीं करेंगे।

Comparison:

Method Input Format Safety
ast.literal_eval Python Literal Syntax Safe (No Code Execution)
json.loads JSON (Double Quotes) Safe
eval() Any Python Code DANGEROUS - Avoid!

Error Handling के साथ Robust Version:

import ast
import json

def string_to_dict(s):
    """String को Dict में Convert करें, Multiple Formats Try करें"""
    # Try JSON पहले
    try:
        return json.loads(s)
    except json.JSONDecodeError:
        pass
    
    # Try Python Literal
    try:
        return ast.literal_eval(s)
    except (ValueError, SyntaxError):
        pass
    
    raise ValueError(f"Cannot parse as dict: {s}")

  1. - Python का उपयोग करके String को JSON में Convert कैसे करें?

    JSON String को Dictionary में Convert करना JSON String को Dictionary में Convert करने के लिए json.loads() का उपयोग करें। यह Method Valid JSON String Accept करता है और Dictionary Return करता है जिसमें आप सभी Elements Access कर सकते हैं। उदाहरण >>> import json >>> s = {success: tru

  1. - पायथन में स्ट्रिंग को बाइनरी में कैसे बदलें?

    स्ट्रिंग को बाइनरी में बदलने के लिए, आपको प्रत्येक कैरेक्टर पर पुनरावृति करके उसे बाइनरी में बदलना होगा। फिर इन कैरेक्टर्स को एक सिंगल स्ट्रिंग में जोड़ दें। आप format(ord(x), b) का उपयोग करके कैरेक्टर x को बाइनरी के रूप में फॉर्मेट कर सकते हैं। उदाहरण के लिए: >>> st = hello world >>&

  1. - पायथन में डिक्शनरी के स्ट्रिंग प्रतिनिधित्व को डिक्शनरी में कैसे बदलें?

    हम यहां ast.literal_eval() का उपयोग करके स्ट्रिंग को पायथन एक्सप्रेशन के रूप में मूल्यांकन कर सकते हैं। यह सुरक्षित रूप से एक एक्सप्रेशन नोड या पायथन एक्सप्रेशन वाली स्ट्रिंग का मूल्यांकन करता है। स्ट्रिंग या नोड में केवल निम्न पायथन लिटरल संरचनाएं हो सकती हैं: स्ट्रिंग्स, नंबर्स, टुपल्स, लिस्ट्स, ड