الانتقال إلى المحتوى الرئيسي

كيفية تحويل سلسلة إلى قاموس بايثون

السلاسل والقواميس نوعان مهمان من البيانات في لغة برمجة بايثون. السلسلة عبارة عن سلسلة من الأحرف ، والقاموس عبارة عن مجموعة غير مرتبة من أزواج القيمة الرئيسية. في بعض الأحيان يكون من الضروري تحويل سلسلة بتنسيق قيمة المفتاح إلى قاموس لمعالجة البيانات بطريقة أكثر ملاءمة.

هناك عدة طرق لتحويل السلاسل إلى قواميس في بايثون. واحدة من أسهل الطرق هي استخدام طريقة التقييم (). تفسر هذه الطريقة السلسلة على أنها رمز بيثون وتنفذها. وبالتالي ، يمكننا تمرير سلسلة بتنسيق القاموس إلى طريقة التقييم () والحصول على قاموس نتيجة لذلك. ولكن عليك أن تكون حذرا مع هذه الطريقة ، لأنه يمكن تنفيذ أي رمز ، والتي يمكن أن تكون خطيرة.

dictionary = json.loads(string_dict.replace("'", "\""))

استيراد أست

  1. مرسوم السلسلة = "{'مفتاح 1': 'قيمة 1' ، 'مفتاح 2': 'قيمة 2' ، 'مفتاح 3': 'قيمة 3'}"
  2. قاموس = أست.حرفي
  3. طباعة (قاموس)
  4. # الإخراج: {'مفتاح 1': 'قيمة 1' ، 'مفتاح 2':' قيمة 2 ' ، 'مفتاح 3': 'قيمة 3'}
  5. الآن لديك عدة طرق لتحويل سلسلة إلى قاموس في بيثون. اختيار واحد الذي هو الأنسب لمهمة محددة ويحافظ على البيانات الخاصة بك آمنة.

ما هي السلسلة في بايثون?

لماذا أحتاج إلى تحويل سلسلة إلى قاموس?

كيف يمكنني تحويل سلسلة إلى قاموس?

باستخدام وظيفة التقييم ()

باستخدام وحدة جسون جسون

.مقالب () جسون.الأحمال()

تحويل القاموس إلى جسون والعودة

تحويل سلسلة يدويا إلى قاموس

أمثلة على تحويل السلاسل إلى قاموس

مثال على استخدام وظيفة التقييم()

مثال على استخدام وحدة جسون

  • سؤال وجواب
  • كيف يمكنني تحويل سلسلة إلى قاموس بيثون?
  • ما هي السلسلة في بايثون?
  • في بايثون ، السلسلة عبارة عن سلسلة من الأحرف محاطة بعلامات اقتباس.

الآن يخزن متغير السلسلة الخاصة بي السلسلة "مرحبا ، العالم!".

لماذا أحتاج إلى تحويل سلسلة إلى قاموس?

في برامج بايثون ، يعد القاموس أحد أكثر هياكل البيانات فائدة. إنها مجموعة غير مرتبة من أزواج القيمة الرئيسية حيث يكون كل مفتاح فريدا. غالبا ما يكون من الضروري تحويل سلسلة إلى قاموس من أجل العمل مع البيانات بشكل ملائم.

يمكن أن يكون تحويل سلسلة إلى قاموس مفيدا في كثير من الحالات:

  1. الحصول على البيانات من مصادر خارجية: غالبا ما يتم تلقي البيانات كسلسلة ، على سبيل المثال ، بتنسيق جسون أو كسف. تحويل سلسلة إلى قاموس يجعل من السهل معالجة وتحليل هذه البيانات.
  2. تبادل البيانات بين الوحدات والوظائف المختلفة: يمكن استخدام القواميس كهيكل بيانات مناسب لنقل المعلومات بين المكونات المختلفة للبرنامج.

    عمل مريح مع ملفات التكوين: يمكن تمثيل العديد من ملفات التكوين كسلاسل ، وتحويلها إلى قاموس يجعل الوصول إلى الإعدادات أكثر ملاءمة.بناء واجهة برمجة تطبيقات: عند إنشاء واجهة برمجة تطبيقات تطبيق ويب ، من الملائم استخدام السلاسل لتمرير معلمات الاستعلام. تحويل هذه السلاسل إلى قواميس يجعل من السهل معالجة طلبات الويب.
    يتم تنفيذ تحويل سلسلة إلى قاموس في بيثون باستخداموظيفة التقييم ()
  3. أو الوحدة
  4. جسون

    . من المهم الانتباه إلى الأمان عند استخدامتقييم ()
    ، لأن هذا يمكن أن يؤدي إلى تنفيذ التعليمات البرمجية التعسفية من سلسلة.
    خاتمة: يعد تحويل سلسلة إلى قاموس عملية مهمة عند العمل مع البيانات في بايثون. يسمح لك بمعالجة البيانات وتحليلها بسهولة ونقل المعلومات بين مكونات البرنامج والعمل مع مصادر البيانات المختلفة.
    كيف يمكنني تحويل سلسلة إلى قاموس?
  5. في لغة برمجة بايثون ، هناك طرق مختلفة لتحويل سلسلة إلى قاموس. دعونا نلقي نظرة على عدد قليل منهم:
  6. باستخدام وظيفة التقييم

    وظيفة التقييم يسمح لك لأداء تمثيل سلسلة من التعليمات البرمجية بيثون. عند استخدام هذه الوظيفة ، يمكنك تمرير سلسلة تحتوي على قاموس والحصول على قاموس نتيجة لذلك. على سبيل المثال:مثال
    النتيجة
    مرسوم السلسلة = '{"المفتاح 1": "القيمة 1" ، "المفتاح 2": "القيمة 2"}'
    ديكت_من_سلسلة = تقييم(سترينج_مرسوم)
    باستخدام وحدة جسون
    توفر وحدة جسون وظائف للعمل مع البيانات بتنسيق جسون. باستخدام هذه الوظائف ، يمكنك تحويل سلسلة تحتوي على كائن جسون إلى قاموس. على سبيل المثال:

مثال

النتيجة

استيراد جسون

باستخدام الحلقات وطرق السلسلة

النتيجة

للزوج في مرسوم السلسلة.انشق ، مزق (';'):

 مفتاح ، قيمة = زوج.انقسام (':')

 ديكت_من_سلسلة [مفتاح] = قيمة

من المهم أن تضع في اعتبارك أنه عند استخدام وظيفة التقييم ، يجب أن تكون حذرا ، لأنها تنفذ الكود المرسل ، ويمكن أن يؤدي الاستخدام غير الآمن إلى ثغرات أمنية.

يتم استخدام وظيفة لتقييم سلسلة كتعبير أو تنفيذ سلسلة كرمز.

من وظيفة التقييم()

القاموس = التقييم (مرسوم السلسلة)

طباعة (قاموس)

في هذا المثال ، نقوم بإنشاء سلسلة تحتوي على قاموس بتنسيق جسون. ثم نستخدم

وظيفة التقييم ()

 لتحويل هذه السلسلة إلى قاموس. ستكون النتيجة قاموس 

{"الاسم": "جون" ، "العمر": 25 ، "المدينة" :" نيويورك"}

. يمكننا الوصول إلى عناصر القاموس باستخدام المرجع الرئيسي المعتاد.

ومع ذلك ، يجب أن تكون حذرا عند استخدام

وظيفة التقييم ()

، لأنه يمكن تنفيذ التعليمات البرمجية التعسفية. يمكن أن تؤدي التعليمات البرمجية الضارة إلى عواقب وخيمة ، لذلك يوصى باستخدامها

تقييم ()

فقط إذا لزم الأمر للغاية وتحقق من بيانات الإدخال للأمان.

ونتيجة لذلك,

وظيفة التقييم ()

هو أداة قوية لتحويل سلسلة إلى قاموس وتنفيذ التعليمات البرمجية الديناميكية. ومع ذلك ، يجب أن يكون استخدامه محدودا ومراقبا للأمن ولمنع الهجمات المحتملة.

باستخدام وحدة جسون

(جسون).مقالب () وجسون.مقالب ()

وظيفة تسمح لك لتحويل كائن بيثون إلى سلسلة جسون. مثال الاستخدام:

استيراد جسون

البيانات = {

"الاسم":"جون",

"العمر": 30,

"المدينة":"نيويورك"

البيانات

(القاموس) يتم تحويلها إلى سلسلة جسون باستخدام

جسون.مقالب () وظيفة

. يتم عرض النتيجة على الشاشة.

(جسون).الأحمال()

جسون.الأحمال () وظيفة تسمح لك لتحويل سلسلة جسون إلى كائن بيثون. مثال الاستخدام:

استيراد جسون

جسون البيانات = '{"الاسم": "جون" ، "العمر": 30 ، "المدينة": "نيويورك"}'

البيانات = جسون.الأحمال (جسون_البيانات)

طباعة (بيانات)

في هذا المثال ، سلسلة جسون

جسون_البيانات

يتم تحويله إلى كائن بيثون باستخدام

جسون.الأحمال () وظيفة

. يتم عرض النتيجة على الشاشة.

"المدينة":"نيويورك"

}

# تحويل القاموس إلى سلسلة جسون

جسون البيانات = جسون.مقالب (بيانات)

طباعة (جسون_البيانات)

# تحويل سلسلة جسون إلى قاموس

في هذا المثال ، الكائن

البيانات

. ثم يتم تحويل سلسلة جسون مرة أخرى إلى القاموس باستخدام

جسون.الأحمال () وظيفة

. يتم عرض النتائج على الشاشة.

باستخدام وحدة جسون يجعل من السهل العمل مع بيانات جسون في بيثون. انها تسمح لك لتحويل البيانات بين الكائنات بيثون وسلاسل جسون ، وهو مناسب عند نقل البيانات عبر الشبكة أو حفظه إلى الملفات.

تحويل سلسلة يدويا إلى قاموس

يوفر بيثون وظائف وأساليب قوية للعمل مع السلاسل والقواميس. ومع ذلك ، في بعض الأحيان قد يكون من الضروري تحويل سلسلة إلى قاموس يدويا. في هذا القسم ، سنوضح لك كيفية إجراء مثل هذا التحويل.

أولا ، لنلق نظرة على مثال بسيط لسلسلة نريد تحويلها إلى قاموس:

سلسلة = 'اسم: يوحنا, عمر: 22, مدينة: نيويورك'

يمكننا تقسيم السلسلة إلى أجزاء منفصلة باستخدام

طريقة الانقسام ()

الآن لدينا قائمة تتكون من ثلاثة عناصر:

['الاسم: جون' ، 'العمر: 22' ، 'المدينة: نيويورك']

. كل عنصر في القائمة هو زوج قيمة المفتاح.

يمكننا إنشاء قاموس فارغ ثم ملئه بقيم من القائمة:

المفتاح ، القيمة = جزء.انقسام (':')

رسالتي [مفتاح] = القيمة

بعد تنفيذ الحلقة ، سنحصل على قاموس يحتوي على أزواج القيمة الرئيسية التالية:

{'اسم': 'جون' ، 'العمر': '22' ، 'المدينة': 'نيويورك'}

الآن يمكننا الوصول إلى القيم في القاموس باستخدام المفاتيح. على سبيل المثال ، يمكننا الحصول على قيمة مفتاح 'الاسم' كما يلي:

  • الاسم = رسالتي ['الاسم']

الآن المتغير

، التقييم()

تسمح لك الوظيفة بتنفيذ تعبير تم تمريره كسلسلة. يمكن استخدام هذا لتحويل سلسلة إلى قاموس. على سبيل المثال:

البيانات = " {'الاسم': 'جون' ، 'العمر': 25 ، 'المدينة': 'نيويورك'}"

القاموس = التقييم (البيانات)

طباعة (قاموس)

خاتمة:

  • {'اسم': 'جون' ، 'العمر': 25 ، 'المدينة': 'نيويورك'}

2. باستخدام وحدة جسون

. الوحدة

جسون

يوفر وظيفة

الأحمال()

، الذي يقبل سلسلة بتنسيق جسون ويعيد القاموس المقابل. على سبيل المثال:

استيراد جسون

البيانات = '{"الاسم": "جون" ، "العمر": 25 ، "المدينة": "نيويورك"}'

قاموس = جسون.الأحمال (البيانات)

طباعة (قاموس)

  • خاتمة:

{'اسم': 'جون' ، 'العمر': 25 ، 'المدينة': 'نيويورك'}

3. باستخدام طريقة الانقسام( )

انقسام()

يسمح لك بتقسيم سلسلة إلى قائمة سلاسل فرعية باستخدام فاصل محدد. يمكننا استخدام هذه الطريقة لتقسيم سلسلة إلى مفاتيح وقيم القاموس ، ثم إنشاء قاموس من البيانات الناتجة. على سبيل المثال:

البيانات = "الاسم = جون ، العمر = 25 ، المدينة = نيويورك"

العناصر = البيانات.انقسام ("،")

قاموس = {}

للبند في العناصر:

المفتاح ، القيمة = العنصر.انقسام ("=")

قاموس [مفتاح] = قيمة

  • طباعة (قاموس)

خاتمة:

{'اسم': 'جون' ، 'العمر': '25' ، 'المدينة': 'نيويورك'}

4. استخدام التعبيرات العادية

يمكن استخدام التعبيرات العادية للتحويلات الأكثر تعقيدا من سلسلة إلى قاموس. تسمح لك التعبيرات العادية بالبحث عن السلاسل ومعالجتها بسهولة ومرونة. على سبيل المثال ، يمكنك استخدام تعبير عادي للبحث عن أزواج المفتاح=القيمة في سلسلة وإنشاء قاموس من هذه الأزواج. على سبيل المثال:

استيراد إعادة

البيانات = "الاسم = جون ، العمر = 25 ، المدينة = نيويورك"

مباريات = إعادة.فيندال (ص" (\ث+)=(\ث+) " ، البيانات)

قاموس = {}

للمباراة في المباريات:

طباعة (قاموس)

هذه مجرد أمثلة قليلة لتحويل السلاسل إلى قاموس في بايثون. اعتمادا على تنسيق السلسلة وبنية القاموس المطلوبة ، يمكنك اختيار طريقة التحويل المناسبة.

مثال على استخدام التقييم()

وظيفة يتم استخدام وظيفة التقييم() في بايثون لتنفيذ التعليمات البرمجية الممثلة كسلسلة. فإنه يأخذ سلسلة كوسيطة وإرجاع نتيجة الحسابات.

أحد الأمثلة على استخدام وظيفة التقييم () هو تحويل سلسلة إلى قاموس.

النظر في المثال التالي:

"'بايثون

سلسلة ="{'مفتاح 1': 1 ، 'مفتاح 2': 2 ، 'مفتاح 3': 3}"

قاموس = تقييم (سلسلة)

"`

في هذا المثال ، السلسلة

هو " {'مفتاح 1': 1 ، 'مفتاح 2': 2 ، 'مفتاح 3': 3}"

 وهو القاموس في شكل سلسلة. باستخدام وظيفة التقييم () ، يمكننا تحويل هذه السلسلة إلى قاموس.

سيتم حفظ النتيجة إلى

متغير القاموس

. الآن يمكننا استخدام القاموس للوصول إلى القيم والتغيير والعمليات الأخرى.

من المهم ملاحظة أنه عند استخدام وظيفة التقييم () ، يجب أن تكون حذرا ، خاصة إذا تم توفير بيانات الإدخال من قبل المستخدم. ويرجع ذلك إلى إمكانية تنفيذ التعليمات البرمجية التعسفية ، والتي يمكن أن تؤدي إلى ثغرات أمنية.

فمن المستحسن استخدام وظيفة التقييم () فقط عند العمل مع بيانات موثوقة والتحقق منها.

مثال على استخدام وحدة جسون

وحدة جسون في بيثون يوفر أدوات للعمل مع البيانات في شكل تدوين كائن جسون جافا سكريبت. جسون هو شكل مناسب لتخزين ونقل البيانات ، وهو معيار في العديد من تطبيقات الويب.

للعمل مع جسون في بيثون ، تحتاج إلى استيراد وحدة جسون:

استيراد جسون

مثال على تحويل قاموس إلى سلسلة جسون:

البيانات = {"الاسم": "جون" ، "العمر": 30 ، "المدينة": "نيويورك"}

جسون البيانات = جسون.مقالب (بيانات)

نتيجة لهذا الرمز ، سيحتوي متغير جسون داتا على سلسلة جسون:

{"الاسم": "جون" ، "العمر": 30 ، "المدينة" :" نيويورك"}

مثال على تحويل سلسلة جسون إلى قاموس:

جسون البيانات = '{"الاسم": "جون" ، "العمر": 30 ، "المدينة": "نيويورك"}'

البيانات = جسون.الأحمال (جسون_البيانات)