المحتوى
أنا مطور برامج ولدي اهتمام كبير بتحليل البيانات والإحصاءات.
العمليات على القوائم
لقد رأينا سابقًا كيف يمكن أن تكون القوائم تم إنشاؤه وتهيئته. من الممكن تهيئة قائمة لا تحتوي على أي شيء وإضافة عناصر لاحقًا. من الممكن وجود عناصر غير متجانسة داخل القائمة. من الممكن أيضًا أن يكون لديك قائمة مغلفة في قائمة أخرى. عندما تحتوي القائمة على قائمة أخرى كأحد أعضائها ، فإنها تسمى قائمة متداخلة.
من الممكن الوصول إلى العناصر الموجودة في القائمة باستخدام الفهرسة الإيجابية أو السلبية. تُرجع الفهرسة السالبة العنصر n من الأخير بينما تُرجع الفهرسة الإيجابية العنصر n من الأمام.
#! / usr / bin / python3 # إعلان قائمة فارغة test = [] # قائمة أعداد صحيحة premNums = [2،3،5،7] # قائمة من القيم المختلطة studentData = ['john'، "smith"، 29، 415312، 97.89] # nested list invoice = [100.00، ["FD20"، "FLAT10"، "SURPRISE40"]، 20، ["No Coupons Applied"]] print ("Empty list test:"، test) print (" قائمة الأعداد الأولية: "، PrimeNums) اطبع (" Student Data: "، studentData) print (" * * * * Invoice * * * ") print (" Total Bill Amount: $ "، invoice [ 0]) طباعة ("القسائم المتوفرة:" ، الفاتورة [1]) طباعة ("القسائم المطبقة:" ، الفاتورة [3]) طباعة ("ضريبة المبيعات: $" ، الفاتورة [2]) طباعة ("ثاني آخر عنصر في studentData: "، studentData [-2]) # مثال للطباعة الفهرسة السلبية (" العنصر الثالث في بيانات الطالب: "، studentData [2]) # الفهرسة تبدأ من 0. لذلك ، تم العثور على العنصر n في الموقع الأول.
ستكون مخرجات البرنامج أعلاه:
اختبار القائمة الفارغة: []
قائمة الأعداد الأولية: [2 ، 3 ، 5 ، 7]
بيانات الطالب: ['john'، 'smith'، 29، 415312، 97.89]
****فاتورة***
إجمالي مبلغ الفاتورة: 100.0 دولار
القسائم المتاحة: ['FD20'، 'FLAT10'، 'SURPRISE40']
القسائم المطبقة: ["لم يتم تطبيق كوبونات"]
ضريبة المبيعات: 20 دولارًا
ثاني آخر عنصر في بيانات الطالب: 415312
العنصر الثالث في بيانات الطالب: 29
تحديث وحذف عناصر القائمة
من الممكن تحديث أو حذف القيم الموجودة في القائمة عن طريق تحديد الموقع الذي يجب أن يتم إجراء التغييرات فيه. بدلاً من ذلك ، تحتوي القوائم على طرق مضمنة يمكن استخدامها لتحقيق ذلك.
- List.append (عنصر) - لإلحاق عنصر بنهاية القائمة.
- List.extend (anotherList) - إلحاق محتويات "anotherList" بالقائمة الموجودة.
- List.remove (item) - يزيل العنصر من القائمة.
- List.insert (فهرس ، بيانات) - يُدرج البيانات في فهرس معين.
- List.pop () - يزيل العنصر الأخير من القائمة. تشبه الطريقة التي تعمل بها هذه الوظيفة عملية البوب على مكدس.
يوضح المثال التالي كيف يمكن استخدام هذه الوظائف.
#! / usr / bin / python nums = [2،3،4،5] print ("initial value of nums List") print (nums) nums [0:] = [1،3،5،7] #alters يتم إعطاء القائمة الكاملة كفهرس 0 كطباعة نقطة البداية ("القيمة المعدلة باستخدام عامل تشغيل الشريحة [0:]") print (nums) nums.append (9) print ("value بعد إلحاق 9:" ، nums) nums.remove ( 1) print ("value after remove 1:"، nums) nums.insert (0، 2) print ("value after insert 2:"، nums) top = nums.pop () print ("popped value:"، top ، ". value after popping:"، nums) testList = [11،13،17،19] nums.extend (testList) print ("value after إلحاق testList:"، nums)
إخراج الكود أعلاه سيكون:
القيمة الأولية لقائمة الأرقام
[2, 3, 4, 5]
القيمة المعدلة باستخدام عامل تشغيل الشرائح [0:]
[1, 3, 5, 7]
القيمة بعد إلحاق 9: [1 ، 3 ، 5 ، 7 ، 9]
القيمة بعد إزالة 1: [3 ، 5 ، 7 ، 9]
القيمة بعد إدخال 2: [2 ، 3 ، 5 ، 7 ، 9]
ظهرت قيمة: 9. القيمة بعد الفرقعة: [2 ، 3 ، 5 ، 7]
القيمة بعد إلحاق قائمة الاختبار: [2 ، 3 ، 5 ، 7 ، 11 ، 13 ، 17 ، 19]
طرق مهمة في القائمة
هناك بعض الطرق الأخرى التي يمكن أن تكون مفيدة أثناء التعامل مع القوائم في بايثون.
- لين (قائمة) - يعطي طول القائمة.
- قائمة (معطاة مضاعفة) - يحول مجموعة معينة إلى قائمة
- دقيقة (قائمة) - إرجاع أدنى قيمة مخزنة في القائمة.
- ماكس (قائمة) - تسترجع القيمة القصوى المخزنة في القائمة.
- List.count (معطىObj) - تسترجع تكرار حدوث العنصر "GivenObj" في القائمة
- List.reverse () - يعكس الترتيب الذي يتم به وضع العناصر في القائمة.
- List.sort () - يفرز الكائنات في قائمة.
- List.index (معطىObj) - يُجري بحثًا ثنائيًا ويعيد فهرس التكرار الأول لـ "GivenObj" في القائمة.
يوضح المثال التالي كيف يمكن استخدام هذه الوظائف.
#! / usr / bin / python nums = [2،3،4،5،7،3] print ("initial value of nums List") print (nums) print ("length of nums ="، len (nums)) ) طباعة ("أول ظهور لـ 3 في الفهرس" ، nums.index (3)) طباعة ("الحد الأدنى للقيمة المخزنة في القائمة =" ، min (nums)) طباعة ("الحد الأقصى للقيمة المخزنة في list =" ، max (nums) ) print ("عدد مرات حدوث 3 في القائمة ="، nums.count (3)) print ("Sorted list ="، nums.sort ()) print ("reverse list ="، nums.reverse ()) testTuple = (10، 20، 30) print ("مُعطى tuple:"، testTuple) newList = list (testTuple) newList.append (1) print ("newList value بعد إلحاق 1 ="، newList)
إخراج الكود أعلاه سيكون:
القيمة الأولية لقائمة الأرقام
[2, 3, 4, 5, 7, 3]
طول الأعداد = 6
أول ظهور لـ 3 في الفهرس 1
الحد الأدنى للقيمة المخزنة في القائمة = 2
القيمة القصوى المخزنة في القائمة = 7
عدد مرات حدوث 3 في القائمة = 2
قائمة مرتبة = لا شيء
قائمة معكوسة = لا شيء
مجموعة معينة: (10، 20، 30)
قيمة newList بعد إلحاق 1 = [10، 20، 30، 1]
العمليات على Tuples
نظرًا لأن المجموعات غير قابلة للتغيير ، على عكس القوائم ، فإنها لا تحتوي على وظائف مضمنة على وجه التحديد تمكن المستخدم من تعديلها. ولكن هناك وظائف معينة تدعمها المجموعات التي تشبه len () و min () و max () و tuple ()
- لين () - يعطي طول المجموعة
- دقيقة () - يعطي الحد الأدنى للعنصر في المجموعة
- الأعلى() - يعطي القيمة القصوى في المجموعة
- Tuple (قائمة معينة) - يحول القائمة المحددة إلى tuple