ក្នុងការសរសេរកម្មវិធី បញ្ជីប្រហែលជាមានប្រយោជន៍ដូចជារចនាសម្ព័ន្ធទិន្នន័យជាអារេ។ តើបញ្ជីមានអ្វីខ្លះ របៀបបង្កើតពួកវា? របៀបធ្វើការជាមួយបញ្ជីនៅក្នុង Python? អ្នកនឹងរៀនអំពីរឿងនេះពីអត្ថបទរបស់យើង។
តើបញ្ជីឈ្មោះអ្វីខ្លះនៅក្នុង Python?
បញ្ជីអាចត្រូវបានកំណត់អត្តសញ្ញាណដោយផ្នែកជាមួយអារេ ប៉ុន្តែភាពខុសគ្នា និងអត្ថប្រយោជន៍នៃការចុះបញ្ជី (បើមិនដូច្នេះទេពួកវាក៏ត្រូវបានគេហៅថាបញ្ជី) គឺថាពួកគេអាចបញ្ចូលគ្នានូវប្រភេទទិន្នន័យផ្សេងៗគ្នា។ នោះគឺការចុះបញ្ជីបើកលទ្ធភាពបន្ថែមទៀតសម្រាប់ការរក្សាទុកវត្ថុលំដាប់ណាមួយ។ អថេរដែលហៅថាបញ្ជីមានសេចក្ដីយោងទៅរចនាសម្ព័ន្ធក្នុងអង្គចងចាំដែលមានសេចក្ដីយោងទៅរចនាសម្ព័ន្ធជំនួស។
បញ្ជីនៅក្នុង Python គឺជាការប្រមូលវត្ថុតាមលំដាប់នៃប្រភេទចម្រុះដែលអាចកែប្រែបាន ហើយវត្ថុអាចខុសគ្នា។
តើវាមានន័យយ៉ាងដូចម្តេច? ចូរយើងពិចារណានិយមន័យឱ្យបានលម្អិត។
ទំហំនៃការចុះបញ្ជីអាចត្រូវបានផ្លាស់ប្តូរ កាត់បន្ថយ បន្ទាត់ថ្មីបន្ថែមទៅវា។ អ្នកក៏អាចផ្លាស់ប្តូររចនាសម្ព័ន្ធទាំងមូលនៃបញ្ជីផងដែរ។ សូមចងចាំថារាល់ពេលដែលវិធីសាស្រ្តក្នុងបញ្ជីមួយត្រូវបានប្រើប្រាស់ បញ្ជីដើមត្រូវបានផ្លាស់ប្តូរ មិនមែនជាច្បាប់ចម្លងនោះទេ។
ដើម្បីឱ្យកាន់តែច្បាស់ អ្នកអាចគិតពីការចុះបញ្ជីនៅក្នុង Python ជាបញ្ជីផលិតផលដែលត្រូវទិញនៅក្នុងហាង។ ប្រសិនបើនៅពេលបង្កើតផែនការទិញទំនិញ ធាតុចាំបាច់ទាំងអស់មានទីតាំងនៅខាងក្រោមមួយទៀត ហើយពួកវានីមួយៗមានបន្ទាត់រៀងៗខ្លួន នោះការចុះបញ្ជីនៅក្នុង Python មានធាតុទាំងអស់ដែលបំបែកដោយសញ្ញាក្បៀស និងក្នុងតង្កៀបការ៉េ ដូច្នេះ Python អាចយល់បានថា បញ្ជីមួយត្រូវបានចង្អុលបង្ហាញនៅទីនេះ។ ធាតុត្រូវបានរុំព័ទ្ធក្នុងសញ្ញាសម្រង់។ នេះជាលក្ខខណ្ឌចាំបាច់ ព្រោះធាតុនីមួយៗគឺជាបន្ទាត់ដាច់ដោយឡែក។
វិធីបង្កើតបញ្ជី
បន្តទៅឧទាហរណ៍បុរាណ យើងបង្កើតបញ្ជីដែលយើងនឹងប្រើ និងកែប្រែនាពេលអនាគត។ មានវិធីជាច្រើនដើម្បីបង្កើតបញ្ជី។
មួយក្នុងចំណោមពួកគេគឺជាកម្មវិធី បញ្ជីមុខងារដែលភ្ជាប់មកជាមួយ (). ដើម្បីធ្វើដូច្នេះ អ្នកត្រូវដំណើរការវត្ថុណាមួយដែលអាចត្រូវបានធ្វើឡើងវិញបាន (ខ្សែអក្សរ ខ្សែ ឬបញ្ជីដែលមានស្រាប់)។ ក្នុងករណីនេះខ្សែអក្សរ។
នេះជាអ្វីដែលកើតឡើងនៅទីបញ្ចប់៖
>>> list('list') ['c', 'n', 'i', 'c', 'o', 'to']
ឧទាហរណ៍ទីពីរបង្ហាញថា បញ្ជីអាចផ្ទុកវត្ថុផ្សេងគ្នាច្រើនគ្មានដែនកំណត់។ ផងដែរ ការចុះបញ្ជីអាចនៅទទេ។
>>> s = [ ] # បញ្ជីទទេ >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]
វិធីបន្ទាប់ ទីបី នៃការបង្កើតបញ្ជីឈ្មោះគឺជាអ្វីដែលហៅថា ម៉ាស៊ីនភ្លើងចុះបញ្ជី.
ម៉ាស៊ីនបង្កើតការចុះបញ្ជីគឺជារចនាសម្ព័ន្ធសំយោគសម្រាប់បង្កើតបញ្ជី។ វាស្រដៀងទៅនឹង for loop ។
>>> c = [c * 3 សម្រាប់ c ក្នុង 'list'] >>> c ['lll', 'iii', 'sss', 'ttt']
វាក៏អាចត្រូវបានប្រើដើម្បីបង្កើតរចនាសម្ព័ន្ធ voluminous បន្ថែមទៀត:
>>> c = [c*3 for c in 'list' if c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d សម្រាប់ c ក្នុង 'list' ប្រសិនបើ c != 'i' សម្រាប់ d ក្នុង 'spam' ប្រសិនបើ d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']
ទោះយ៉ាងណាក៏ដោយ វិធីសាស្ត្រជំនាន់នេះមិនតែងតែមានប្រសិទ្ធភាពទេ នៅពេលចងក្រងបញ្ជីច្រើន ដូច្នេះ គួរប្រើ for loop ដើម្បីបង្កើតបញ្ជី។
ប្រសិនបើអ្នកត្រូវការយោងទៅធាតុណាមួយពីបញ្ជី នោះលិបិក្រមត្រូវបានប្រើ។ ធាតុនីមួយៗមានសន្ទស្សន៍ផ្ទាល់ខ្លួន។
លិបិក្រមគឺជាចំនួនធាតុនៅក្នុងបញ្ជី។
ប្រសិនបើអ្នកចង់បំពេញការចុះបញ្ជីដោយមានធាតុដដែលៗ និមិត្តសញ្ញា * ត្រូវបានប្រើ។ ឧទាហរណ៍ អ្នកត្រូវបន្ថែមលេខដូចគ្នាចំនួនបីទៅក្នុងបញ្ជី៖ [100] * 3 ។
មុខងារចុះបញ្ជី
មុខងារ - នេះប្រហែលជាអត្ថប្រយោជន៍ចម្បងរបស់ Python ជាងភាសាសរសេរកម្មវិធីផ្សេងទៀត។ មុខងារមូលដ្ឋានដែលភ្ជាប់មកជាមួយអាចត្រូវបានអនុវត្តចំពោះបញ្ជី។
ពិចារណាការពេញនិយមបំផុតក្នុងចំណោមពួកគេ:
- បញ្ជី(ជួរ()) - ប្រសិនបើភារកិច្ចគឺដើម្បីបង្កើតបញ្ជីបន្តបន្ទាប់ នោះមុខងារជួរត្រូវបានប្រើ។ មុខងារនេះមានទម្រង់ដូចខាងក្រោមៈ
- ជួរ (បញ្ចប់) ។ វាត្រូវបានប្រើនៅពេលដែលវាចាំបាច់ក្នុងការបង្កើតបញ្ជីពីសូន្យទៅចំនួនកំណត់។
- ជួរ (ចាប់ផ្តើម, បញ្ចប់) ។ ទាំងលេខចាប់ផ្តើម និងលេខបញ្ចប់ត្រូវបានបញ្ជាក់។
- ជួរ (ចាប់ផ្តើម, បញ្ចប់, ជំហាន) ។ ប៉ារ៉ាម៉ែត្រជំហានបញ្ជាក់លក្ខណៈជ្រើសរើស។ ឧទាហរណ៍ ប្រសិនបើអ្នកត្រូវការជ្រើសរើសរាល់លេខទីប្រាំពីលំដាប់ពីលេខ 1 ដល់លេខ 21 នោះបញ្ជីលទ្ធផលនឹងមើលទៅដូច៖ [10,15, 20]។
មុខងារជួរអាចកាត់បន្ថយចំនួនកូដយ៉ាងច្រើន។
- flax (បញ្ជី) - អនុញ្ញាតឱ្យអ្នកស្វែងយល់ថាតើមានធាតុប៉ុន្មាននៅក្នុងបញ្ជី។
- តម្រៀប (បញ្ជី [គន្លឹះ]) - តម្រៀបវត្ថុក្នុងបញ្ជីតាមលំដាប់ឡើង។
- អតិបរមា (បញ្ជី) - ត្រឡប់ធាតុធំបំផុត។
- នាទី (បញ្ជី) - មុខងារផ្ទុយ - អនុញ្ញាតឱ្យអ្នកត្រឡប់ធាតុជាមួយនឹងតម្លៃអប្បបរមា។
អ្នកក៏អាចប្រើមុខងារដែលភ្ជាប់មកជាមួយផ្សេងទៀតផងដែរ៖
- បញ្ជី (tuple) - បំលែងវត្ថុ tuple ទៅជាបញ្ជី។
- សរុប (បញ្ជី) - បូកសរុបធាតុទាំងអស់ក្នុងបញ្ជី ប្រសិនបើតម្លៃទាំងអស់ជាលេខ អនុវត្តទាំងចំនួនគត់ និងទសភាគ។ ទោះយ៉ាងណាក៏ដោយនាងមិនតែងតែយល់ស្របទេ។ ប្រសិនបើមានធាតុដែលមិនមែនជាលេខនៅក្នុងបញ្ជី មុខងារនឹងបោះកំហុសមួយ៖ “TypeError: unsupported operand type(s) for +: 'int' and 'str'”។
វិធីសាស្រ្តចុះបញ្ជី
ចូរយើងត្រលប់ទៅបញ្ជីទំនិញរបស់យើងដែលត្រូវទិញនៅក្នុងហាង ហើយហៅវាថាបញ្ជីហាង៖
បញ្ជីហាង = []
បន្ទាប់ពិចារណាវិធីសាស្រ្តនៃការចុះបញ្ជី:
- បន្ថែម (ធាតុ) - ដោយមានជំនួយរបស់វា អ្នកអាចបន្ថែមធាតុទៅក្នុងបញ្ជី។ ក្នុងករណីនេះធាតុថ្មីនឹងនៅចុងបញ្ចប់។
តោះបំពេញបញ្ជីថ្មីរបស់យើងជាមួយនឹងផលិតផលត្រឹមត្រូវ៖
shoplist.append(នំបុ័ង)
shoplist.append(ទឹកដោះគោ)
- បញ្ជី។ពង្រីក (A) - បន្ថែម "បញ្ជីទៅបញ្ជី" ។ មុខងារនេះជួយសន្សំសំចៃពេលវេលា ដោយសារអ្នកអាចបន្ថែមធាតុជាច្រើនក្នុងពេលតែមួយ។ ឧបមាថាយើងមានបញ្ជីផ្លែឈើរួចហើយ យើងត្រូវបន្ថែមពួកវាទៅក្នុងបញ្ជីសំខាន់។
shoplist.extend(ផ្លែឈើ)
- បញ្ចូល (លិបិក្រមធាតុ) - បញ្ចូលនៅលើធាតុជាមួយនឹងសន្ទស្សន៍ដែលបានបញ្ជាក់តម្លៃដែលបានបញ្ជាក់មុនសន្ទស្សន៍ដែលបានបញ្ជាក់។
- ចំនួន (ធាតុ) - បង្ហាញចំនួនពាក្យដដែលៗនៃធាតុ។
- បញ្ជី។យកចេញ (ធាតុ) គឺជាមុខងារផ្ទុយ បញ្ជី។បន្ថែម (x). វាអាចត្រូវបានប្រើដើម្បីលុបធាតុណាមួយ។ ប្រសិនបើធាតុដែលបានជ្រើសរើសមិននៅក្នុងបញ្ជីទេ កំហុសមួយត្រូវបានរាយការណ៍។
- ប៉ុប([សន្ទស្សន៍]) - យកធាតុដែលបានជ្រើសរើសចេញ ហើយត្រឡប់វាតាមរបៀបដូចគ្នា។ ប្រសិនបើធាតុមិនត្រូវបានបញ្ជាក់ នោះធាតុចុងក្រោយត្រូវដកចេញពីបញ្ជី។
- តម្រៀប ([គន្លឹះ]) - ដាក់ធាតុនៅក្នុងបញ្ជីតាមលំដាប់ឡើង ប៉ុន្តែអ្នកក៏អាចបញ្ជាក់មុខងារមួយផងដែរ។
- សន្ទស្សន៍ (ធាតុ) - បង្ហាញលិបិក្រមនៃធាតុដែលបានជ្រើសរើសដំបូង។
- អ្នកអាចពង្រីកបញ្ជី ពោលគឺឆ្លុះធាតុទាំងអស់របស់វា ដោយប្រើវិធីសាស្ត្រ បញ្ច្រាស (បញ្ជី). ធាតុចុងក្រោយក្លាយជាធាតុទីមួយ ធាតុចុងក្រោយក្លាយជាធាតុទីពីរ។ល។
- ច្បាប់ចម្លងនៃបញ្ជីត្រូវបានបង្កើតដោយប្រើពាក្យបញ្ជា ចម្លង (បញ្ជី).
- ច្បាប់ចម្លងជ្រៅ (បញ្ជី) - ការចម្លងជ្រៅ។
- លុបធាតុបញ្ជីទាំងអស់ដោយប្រើវិធីសាស្ត្រ សម្អាតបញ្ជី).
វាគួរឱ្យកត់សម្គាល់ថាវិធីសាស្រ្តនៃការចុះបញ្ជីខុសគ្នាពីវិធីសាស្ត្រខ្សែអក្សរដែលពួកគេបានផ្លាស់ប្តូរបញ្ជីភ្លាមៗ នោះគឺវាមិនចាំបាច់ត្រឡប់លទ្ធផលនៃការប្រតិបត្តិនោះទេ។
>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> print(l) គ្មាន
ខាងក្រោមនេះគឺជាឧទាហរណ៍នៃការធ្វើការជាមួយបញ្ជី៖
>>> a = [66.25, 333, 333, 1, 1234.5] >>> print(a.count(333), a.count(66.25), a.count('x')) 2 1 0 >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]