يتطلب الطموح إلى أن تصبح مبرمجًا معتمدًا في لغة Python (PCEP) فهمًا شاملاً لهياكل البيانات الأساسية في لغة Python، مثل القوائم والصفوف.
كل من القوائم والصفوف قادرة على تخزين الكائنات في بايثون، ولكن بنيتي البيانات هاتين لهما اختلافات رئيسية في استخدامها وصياغتها. ولمساعدتك على اجتياز اختبار شهادة PCEP، إليك بعض النصائح الأساسية لإتقان هياكل البيانات هذه.
1. فهم الفرق بين القوائم والصفوف
القوائم في بايثون قابلة للتغيير، مما يعني أنه يمكن تعديلها بعد إنشائها. من ناحية أخرى، فإن الصفوف غير قابلة للتغيير، مما يعني أنه لا يمكن تغييرها بمجرد إنشائها. وهذا يعني أن المجموعات لها متطلبات ذاكرة أقل ويمكن أن تكون أسرع من القوائم في مواقف معينة، ولكنها توفر مرونة أقل.
مثال على القائمة:
# creating a list of numbers numbers = [1, 2, 3, 4, 5] # modifying the list by changing the fourth element numbers[3] = 10 print(numbers) # output: [1, 2, 3, 10, 5]
مثال Tuple:
# creating a tuple of colors colors = ("red", "green", "blue") # trying to modify the tuple by changing the second element colors[1] = "yellow" # this will result in an error as tuples are immutable
2. تعرف على بناء جملة القوائم والصفوف
يتم الإشارة إلى القوائم بين قوسين مربعين [ ]، بينما يتم وضع الصفوف بين قوسين ( ). يعد إنشاء قائمة أو صف أمرًا بسيطًا مثل الإعلان عن القيم لمتغير باستخدام الصيغة المناسبة. تذكر أنه لا يمكن تعديل الصفوف بعد التهيئة، لذلك من الضروري استخدام الصيغة الصحيحة.
مثال على القائمة:
# creating a list of fruits fruits = ["apple", "banana", "orange"]
مثال Tuple:
# creating a tuple of colors colors = ("red", "green", "blue")
3. تعرف على كيفية إضافة العناصر وإزالتها
تحتوي القوائم على طرق مدمجة متعددة لإضافة العناصر وإزالتها، مثل append() وextend() وremove(). من ناحية أخرى، تحتوي الصفوف على عدد أقل من الأساليب المضمنة ولا تحتوي على أي طرق لإضافة العناصر أو إزالتها. ولذلك، إذا كنت بحاجة إلى تعديل صف، فسيتعين عليك إنشاء صف جديد بدلاً من تغيير الصف الموجود.
مثال على القائمة:
# adding a new fruit to the end of the list fruits.append("mango") print(fruits) # output: ["apple", "banana", "orange", "mango"] # removing a fruit from the list fruits.remove("banana") print(fruits) # output: ["apple", "orange", "mango"]
مثال Tuple:
# trying to add a fruit to the end of the tuple fruits.append("mango") # this will result in an error as tuples are immutable # trying to remove a fruit from the tuple fruits.remove("banana") # this will also result in an error
4. فهم اختلافات الأداء
نظرًا لثباتها، تكون الصفوف بشكل عام أسرع من القوائم. ابحث عن السيناريوهات التي تحتاج فيها إلى تخزين مجموعة ثابتة من العناصر، وفكر في استخدام الصفوف بدلاً من القوائم لتحسين الأداء.
يمكنك اختبار اختلافات الأداء بين القوائم والصفوف باستخدام وحدة timeit في بايثون. فيما يلي مثال لمقارنة الوقت المستغرق للتكرار خلال قائمة ومجموعة مكونة من 10 عناصر:
# importing the timeit module import timeit # creating a list and a tuple with 10 elements numbers_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] numbers_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) # testing the time it takes to iterate through the list list_time = timeit.timeit('for num in numbers_list: pass', globals=globals(), number=100000) print("Time taken for list: ", list_time) # output: Time taken for list: 0.01176179499915356 seconds # testing the time it takes to iterate through the tuple tuple_time = timeit.timeit('for num in numbers_tuple: pass', globals=globals(), number=100000) print("Time taken for tuple: ", tuple_time) # output: Time taken for tuple: 0.006707087000323646 seconds
كما ترون، التكرار من خلال الصف أسرع قليلاً من التكرار من خلال القائمة.
5. فهم حالات الاستخدام المناسبة للقوائم والصفوف
تعتبر القوائم مناسبة لتخزين مجموعات من العناصر التي قد تتغير مع مرور الوقت، حيث يمكن تعديلها بسهولة. في المقابل، تعتبر الصفوف مثالية للمجموعات الثابتة من العناصر التي يجب أن تظل دون تغيير. على سبيل المثال، في حين أن القائمة قد تكون مناسبة لقائمة البقالة التي يمكن أن تتغير، فإن الصف سيكون أكثر ملاءمة لتخزين أيام الأسبوع، لأنها تظل كما هي.
مثال على القائمة:
# creating a list of groceries grocery_list = ["milk", "bread", "eggs", "chicken"] # adding a new item to the grocery list grocery_list.append("bananas")
مثال Tuple:
# creating a tuple of weekdays weekdays = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday") # trying to add a new day to the tuple weekdays.append("Saturday") # this will result in an error as tuples cannot be modified after creation
6. كن واعيًا لاستخدام الذاكرة
تستهلك القوائم ذاكرة أكبر من الصف بسبب مرونتها، بينما تشغل الصف مساحة أقل بسبب ثباتها. وهذا أمر مهم بشكل خاص يجب أخذه في الاعتبار عند التعامل مع مجموعات البيانات الكبيرة أو التطبيقات كثيفة الاستهلاك للذاكرة.
يمكنك استخدام وحدة sys في Python للتحقق من استخدام الذاكرة للمتغيرات. فيما يلي مثال لمقارنة استخدام الذاكرة لقائمة ومجموعة تحتوي على مليون عنصر:
# importing the sys module import sys # creating a list with one million elements numbers_list = list(range(1000000)) # checking the memory usage of the list list_memory = sys.getsizeof(numbers_list) print("Memory usage for list: ", list_memory) # output: Memory usage for list: 9000112 bytes # creating a tuple with one million elements numbers_tuple = tuple(range(1000000)) # checking the memory usage of the tuple tuple_memory = sys.getsizeof(numbers_tuple) print("Memory usage for tuple: ", tuple_memory) # output: Memory usage for tuple: 4000072 bytes
يمكنك أن ترى أن المجموعات تستهلك ذاكرة أقل مقارنة بالقوائم.
7. تعرف على كيفية التكرار من خلال القوائم والصفوف
يمكن تكرار كل من القوائم والصفوف من خلال استخدام الحلقات، ولكن بسبب ثباتها، قد تكون المجموعات أسرع قليلاً. لاحظ أيضًا أن القوائم يمكنها تخزين أي نوع من البيانات، بينما يمكن للصفوف أن تحتوي فقط على عناصر قابلة للتجزئة. وهذا يعني أنه يمكن استخدام الصفوف كمفاتيح قاموس، بينما لا يمكن استخدام القوائم.
مثال على القائمة:
# creating a list of numbers numbers = [1, 2, 3, 4, 5] # iterating through the list and checking if a number is present for num in numbers: if num == 3: print("Number 3 is present in the list") # output: Number 3 is present in the list
مثال Tuple:
# creating a tuple of colors colors = ("red", "green", "blue") # iterating through the tuple and checking if a color is present for color in colors: if color == "yellow": print("Yellow is one of the colors in the tuple") # this will not print anything as yellow is not present in the tuple
8. كن على دراية بالوظائف والعمليات المضمنة
في حين أن القوائم تحتوي على طرق مدمجة أكثر مقارنة بالصفوف، فإن كلا بنيات البيانات لديها مجموعة من الوظائف والعوامل المضمنة التي يجب أن تكون على دراية بها في اختبار PCEP. تتضمن هذه الوظائف وظائف مثل len() وmax() وmin()، بالإضافة إلى عوامل التشغيل مثل in وnot in للتحقق مما إذا كان العنصر موجودًا في قائمة أو صف.
مثال على القائمة:
# creating a list of even numbers numbers = [2, 4, 6, 8, 10] # using the len() function to get the length of the list print("Length of the list: ", len(numbers)) # output: Length of the list: 5 # using the in and not in operators to check if a number is present in the list print(12 in numbers) # output: False print(5 not in numbers) # output: True
مثال Tuple:
# creating a tuple of colors colors = ("red", "green", "blue") # using the max() function to get the maximum element in the tuple print("Maximum color: ", max(colors)) # output: Maximum color: red # using the in and not in operators to check if a color is present in the tuple print("yellow" in colors) # output: False print("green" not in colors) # output: False
من خلال فهم الاختلافات وحالات الاستخدام المناسبة وبناء جملة القوائم والصفوف، ستكون مستعدًا جيدًا لامتحان PCEP. تذكر أن تتدرب على استخدام هياكل البيانات هذه في سيناريوهات مختلفة لتعزيز معرفتك وزيادة فرصك في اجتياز الاختبار. ضع في اعتبارك أنه مع الممارسة يأتي الكمال!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3