منتديات رحيل لكل العرب

منتديات رحيل لكل العرب (https://r7il.com/vb/)
-   قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress (https://r7il.com/vb/f20/)
-   -   القواميس عبارة عن مؤشرات (مُخططات) من المفاتيح للقيم (https://r7il.com/vb/t1498/)

مهرة النجدية 01-03-2019 09:45 AM

القواميس عبارة عن مؤشرات (مُخططات) من المفاتيح للقيم
 
القواميس عبارة عن مؤشرات (مُخططات) من المفاتيح للقيم (كل مفتاح يؤشر على قيمة خاصة به).
تعريف قاموس فارغ:

empty_dict = {}
تعريف قاموس بقيم مسبقة:

filled_dict = {"one": 1, "two": 2, "three": 3}
لاحظ أن المفاتيح في القواميس لابد أن يكون نوع بياناتها ثابتا (immutable) وذلك لضمان الحصول على مفتاح ثابت (لا تتغير قيمته).
أنواع البيانات الثابتة والتي من الممكن استخدامها هي int , float, string, tuple.

invalid_dict = {[1,2,3]: "123"} # => Raises a TypeError: unhashable type: 'list'
valid_dict = {(1,2,3):[1,2,3]} # Values can be of any type, however.
يمكن للقيم – عكس المفاتيح – أن تكون من أي نوع.
للبحث عن قيم نستخدم الأقواس المعكوفة:

filled_dict["one"] # => 1
للحصول على مفاتيح قاموس على شكل قائمة (الترتيب في القواميس غير ثابت):

list(filled_dict.keys()) # => ["three", "two", "one"]
للحصول على قيم قاموس على شكل قائمة:

list(filled_dict.values()) # => [3, 2, 1]
للتأكد من وجود مفتاح قاموس معين:

"one" in filled_dict # => True
1 in filled_dict # => False
في حالة استخدام مفتاح غير موجود للبحث في قاموس، فإن ذلك ينتج خطأ:

filled_dict["four"] # KeyError
استخدم الدالة get لتجنب الخطأ السابق:

filled_dict.get("one") # => 1
filled_dict.get("four") # => None
تدعم الدالة get إعادة قيمة تلقائية في حالة عدم وجود المفتاح:

filled_dict.get("one", 4) # => 1
filled_dict.get("four", 4) # => 4
تضيف الدالة setdefault المفتاح المُمرر إلى القاموس في حالة عدم وجوده. تضيف التعليمة التالية مفتاحا باسم five وتعطيه قيمة 5، أما التعليمة الثانية فلا تحدت تغييرا على القاموس.

filled_dict.setdefault("five", 5) # filled_dict["five"] is set to 5
filled_dict.setdefault("five", 6) # filled_dict["five"] is still 5
للإضافة إلى القاموس:

filled_dict.update({"four":4}) # => {"one": 1, "two": 2, "three": 3, "four": 4}
filled_dict["four"] = 4 # طريقة أخرى
حذف المفتاح من القاموس:

del filled_dict["one"] # Removes the key "one" from filled dict
بعض طرق التفريغ في القواميس:

{'a': 1, **{'b': 2}} # => {'a': 1, 'b': 2}
{'a': 1, **{'a': 2}} # => {'a': 2}
المجموعات:

empty_set = set()
some_set = {1, 1, 2, 2, 3, 4} # some_set is now {1, 2, 3, 4}
نوع البيانات الخاص بعناصر المجموعات لابد أن يكون ثابتا:

invalid_set = {[1], 1} # => Raises a TypeError: unhashable type: 'list'
valid_set = {(1,), 1}
للإضافة إلى المجموعة:

filled_set.add(5) # filled_set is now {1, 2, 3, 4, 5}
إجراء عملية التقاطع بين مجموعتين:

other_set = {3, 4, 5, 6}
filled_set & other_set # => {3, 4, 5}
إجراء عملية الاتحاد بين مجموعتين:

filled_set | other_set # => {1, 2, 3, 4, 5, 6}
إجراء عملية الطرح بين مجموعتين:

{1, 2, 3, 4} - {2, 3, 5} # => {1, 4}
لإجراء عملية فرق التماثل بين مجموعتين:

{1, 2, 3, 4} ^ {2, 3, 5} # => {1, 4, 5}
لفحص إذا كانت المجموعة على الشمال هي مجموعة تحتوي المجموعة على اليمين أم لا:

{1, 2} >= {1, 2, 3} # => False
عكس المثال السابق:

{1, 2} <= {1, 2, 3} # => True
فحص وجود قيمة في مجموعة:

2 in filled_set # => True
10 in filled_set # => False
جمل التحكم
some_var = 5
جملة if:

if some_var > 10:
print("قيمة المتغيّر أكبر تماما من 10")
elif some_var < 10: # هذه الجملة اختيارية
print("قيمة المتغيّر أصغر من 10")
else: # هذه الجملة اختيارية print("قيمة المتغيّر تساوي 10")
جملة for:

for animal in ["dog", "cat", "mouse"]:
print("{} is a mammal".format(animal))
لاحظ استخدام الدالة format في جملة for السابقة. يمكن أيضا تطبيق الجملة على مجال عددي range:

for i in range(4):
print(i)

for i in range(4, 8):
print(i)

for i in range(4, 8, 2):
print(i)
جملة while:

x = 0
while x < 4:
print(x)
x += 1 # اختصارا ل x = x + 1
معالجة الأخطاء باستخدام try/except (استخدم raise لتوليد الخطأ):

try:
raise IndexError("This is an index error")
except IndexError as e:
pass except (TypeError, NameError):
pass
else:
print("All good!")
finally:
print("We can clean up resources here


الساعة الآن 05:03 PM

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2010, Crawlability, Inc. TranZ By Almuhajir

Security team