English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي لـ Python

تحكم العمليات في Python

الوظائف في Python

أنواع البيانات في Python

عمليات ملفات Python

أجسام وكلاء في Python

التاريخ والوقت في Python

معرفة متقدمة في Python

دليل Python

استخدام طريقة fromkeys() في قاموس Python ومراجعة الأمثلة

طرق القواميس في بايثون

تقوم طريقة fromkeys() بإنشاء قاموس جديد بناءً على سلسلة العناصر المقدمة، يحتوي على القيم المقدمة من المستخدم.

نص طريقة fromkeys() هو:

dictionary.fromkeys(sequence[, value])

معاملات fromkeys()

يستخدم طريقة fromkeys() اثنين من المعاملات:

  • sequence - سلسلة العناصر المستخدمة كأكواد جديدة للقاموس

  • value (اختياري) - القيمة المحددة لكل عنصر في القاموس

مخرجات fromkeys()

يستعيد طريقة fromkeys() قاموسًا جديدًا يحتوي على عناصر سلسلة مقدمة كأساس.

إذا تم تعيين معامل value، فإن كل عنصر في القاموس الجديد سيتم تعيينه إلى القيمة المقدمة.

مثال 1: إنشاء قاموس بناءً على سلسلة من المفاتيح

# مفاتيح الأصوات
keys = {'a', 'e', 'i', 'o', 'u'}
vowels = dict.fromkeys(keys)
print(vowels)

عند تشغيل هذا البرنامج، الناتج يكون:

{'a': None, 'u': None, 'o': None, 'e': None, 'i': None}

مثال 2: إنشاء قاموس بناءً على سلسلة من المفاتيح مع القيم

# مفاتيح الأصوات
keys = {'a', 'e', 'i', 'o', 'u'}
value = 'vowel'
vowels = dict.fromkeys(keys, value)
print(vowels)

عند تشغيل هذا البرنامج، الناتج يكون:

{'a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'vowel'}

مثال 3: إنشاء قاموس من قائمة تحتوي على عناصر قابلة للتغيير

# مفاتيح الأصوات
keys = {'a', 'e', 'i', 'o', 'u'}
value = [1]
vowels = dict.fromkeys(keys, value)
print(vowels)
# القيمة المعدلة
value.append(2)
print(vowels)

عند تشغيل هذا البرنامج، الناتج يكون:

{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1]}
{'a': [1, 2], 'u': [1, 2], 'o': [1, 2], 'e': [1, 2], 'i': [1, 2]}

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

هذا لأنه يتم توزيع مراجع إلى نفس العنصر (الذي يشير إلى نفس العنصر في ذاكرة الكمبيوتر).

لتفادي هذا المشكلة، نستخدم فهم القاموس.

# مفاتيح الأصوات
keys = {'a', 'e', 'i', 'o', 'u'}
value = [1]
vowels = { key: list(value) for key in keys }
# يمكنك أيضًا استخدام { key: value[:] for key in keys }
print(vowels)
# القيمة المعدلة
value.append(2)
print(vowels)

عند تشغيل هذا البرنامج، الناتج يكون:

{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1]}
{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1]}

في هذا السياق، لكل مفتاح في keys، سيتم إنشاء قائمة جديدة من value، وتُعطى لها.

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

طرق القواميس في بايثون