بايثون العرب
10.5K subscribers
866 photos
183 videos
768 links
Download Telegram
🐍 خدع بايثون: دمج القواميس بكفاءة!

تعلم طرقًا سريعة وفعالة لدمج القواميس في بايثون، مما يجعل شيفرتك أكثر أناقة.

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}

# الطريقة الأولى: استخدام update()
dmerged_dict1 = dict1.copy()
merged_dict1.update(dict2)
print(f"بعد update(): {merged_dict1}")

# الطريقة الثانية: استخدام عامل التفريغ (**) (Python 3.5+)
merged_dict2 = {**dict1, **dict2}
print(f"بعد عامل التفريغ: {merged_dict2}")

# الطريقة الثالثة: استخدام عامل الدمج (|) (Python 3.9+)
merged_dict3 = dict1 | dict2
print(f"بعد عامل الدمج: {merged_dict3}")


توضح هذه الشيفرة ثلاث طرق مختلفة لدمج القواميس في بايثون. الطريقة الأولى تستخدم `update()`، وهي مناسبة للإصدارات القديمة. الطريقة الثانية تستخدم عامل التفريغ `**`، وهو شائع وفعال في بايثون 3.5+. الطريقة الثالثة، وهي الأحدث والأكثر أناقة، تستخدم عامل الدمج `|` المتوفر في بايثون 3.9+. لاحظ أن القيم المتكررة تأخذ قيمها من القاموس الأخير.

['#بايثون', '#برمجة', '#Python', '#Dictionaries', '#CodingTips', '#PythonTricks']
💡 Tip Python: استخدام setdefault() لتبسيط القواميس! 💡

هل سئمت من التحقق مرارًا وتكرارًا مما إذا كان المفتاح موجودًا في القاموس قبل إضافته؟ دعنا نستخدم `setdefault()` لجعل الكود الخاص بك أكثر أناقة وكفاءة!

my_dict = {'a': 1, 'b': 2}

# استخدام setdefault لإضافة مفتاح جديد أو الحصول على قيمته
value_c = my_dict.setdefault('c', 3) # 'c' غير موجود، لذا يتم إضافته بالقيمة 3
print(f"القيمة المضافة أو الموجودة: {value_c}")
print(f"القاموس بعد الإضافة: {my_dict}")

# استخدام setdefault لمفتاح موجود
value_a = my_dict.setdefault('a', 10) # 'a' موجود، لذا لا يتم تغيير قيمته
print(f"القيمة الموجودة (لم تتغير): {value_a}")
print(f"القاموس بعد محاولة إضافة مفتاح موجود: {my_dict}")


الدالة `setdefault(key, default_value)` مفيدة جدًا. إذا كان المفتاح `key` موجودًا بالفعل في القاموس، فإنها تُرجع قيمته. أما إذا لم يكن المفتاح موجودًا، فإنها تُضيف المفتاح بالقيمة `default_value` المحددة ثم تُرجع هذه القيمة. هذا يجنبك الحاجة إلى جملة `if` للتحقق من وجود المفتاح.

['#Python', '#Tips', '#Programming', '#DataStructures', '#Dictionaries', '#PythonTricks', '#Code', '#Tutorial']
✨ تحسين أداء Python: استخدام Walrus Operator 🐍

هل سئمت من تكرار نفس المتغيرات في Python؟ تعرف على عامل التعيين المُقوّس (Walrus Operator) الذي يسمح لك بتعيين قيمة لمتغير كجزء من تعبير!

def greet(name):
if (n := len(name)) > 3:
print(f"Hello, {name}! Your name is long ({n} characters).")

greet('Alice')
greet('Bob')


في هذا المثال، نقوم بتعيين طول الاسم للمتغير `n` باستخدام `:=` داخل جملة `if`. هذا يجعل الكود أقصر وأكثر قابلية للقراءة لأنه يتجنب حساب الطول مرتين.

['#Python', '#Programming', '#WalrusOperator', '#CodeTips', '#PythonTricks']