ដើម្បីលុបធាតុចេញពីបញ្ជី (អារេ) នៃបញ្ជីប្រភេទនៅក្នុង Python ប្រើវិធីបញ្ជី clear(), pop() និង remove() ។ អ្នកក៏អាចបញ្ជាក់ទីតាំង និងជួរនៃបញ្ជីដោយប្រើលិបិក្រម ឬចំណិត ហើយបន្ទាប់មកលុបវាដោយប្រើសេចក្តីថ្លែងការណ៍ del ។
ព័ត៌មានខាងក្រោមត្រូវបានផ្តល់ជូននៅទីនេះ។
- ដកធាតុទាំងអស់។:
clear()
- លុបធាតុមួយនៅទីតាំងដែលបានបញ្ជាក់ហើយទទួលបានតម្លៃរបស់វា។:
pop()
- ស្វែងរកធាតុដែលមានតម្លៃដែលបានបញ្ជាក់ ហើយដកធាតុទីមួយចេញ។:
remove()
- ការលុបដោយការបញ្ជាក់ទីតាំង និងជួរនៅក្នុងផ្នែកលិបិក្រម:
del
- បាច់លុបធាតុជាច្រើនដែលបំពេញតាមលក្ខណៈវិនិច្ឆ័យ។:ការចង្អុលបង្ហាញអំពីបញ្ជី
ចំណាំថាបញ្ជីអាចផ្ទុកទិន្នន័យនៃប្រភេទផ្សេងៗគ្នា ហើយខុសគ្នាយ៉ាងតឹងរ៉ឹងពីអារេ។ ប្រើអារេ (បណ្ណាល័យស្តង់ដារ) ឬ NumPy នៅពេលអ្នកចង់គ្រប់គ្រងអារេសម្រាប់ដំណើរការដែលទាមទារទំហំអង្គចងចាំ ឬអាសយដ្ឋានអង្គចងចាំ ឬសម្រាប់ការគណនាជាលេខនៃទិន្នន័យខ្នាតធំ។
ដកធាតុទាំងអស់។:clear()
នៅក្នុងបញ្ជីវិធីសាស្រ្ត clear() ធាតុទាំងអស់ត្រូវបានដកចេញ ដែលបណ្តាលឱ្យមានបញ្ជីទទេ។
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l.clear()
print(l)
# []
លុបធាតុមួយនៅទីតាំងដែលបានបញ្ជាក់ហើយទទួលបានតម្លៃរបស់វា។:pop()
វិធីសាស្ត្រ pop() នៃបញ្ជីអាចត្រូវបានប្រើដើម្បីលុបធាតុនៅទីតាំងជាក់លាក់មួយ និងទទួលបានតម្លៃនៃធាតុនោះ។
លេខដំបូង (ដំបូង) គឺ 0 ។
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.pop(0))
# 0
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l.pop(3))
# 4
print(l)
# [1, 2, 3, 5, 6, 7, 8, 9]
តម្លៃអវិជ្ជមានក៏អាចត្រូវបានប្រើដើម្បីបញ្ជាក់ទីតាំងពីចុង (ចុងក្រោយ)។ ចុងបញ្ចប់ (ចុងក្រោយ) គឺ -1 ។
print(l.pop(-2))
# 8
print(l)
# [1, 2, 3, 5, 6, 7, 9]
ប្រសិនបើអាគុយម៉ង់ត្រូវបានលុបចោល ហើយគ្មានទីតាំងណាមួយត្រូវបានបញ្ជាក់ នោះធាតុនៅចុងបញ្ចប់ (ចុងក្រោយ) ត្រូវបានលុប។
print(l.pop())
# 9
print(l)
# [1, 2, 3, 5, 6, 7]
ការបញ្ជាក់ទីតាំងដែលមិនមាននឹងបណ្តាលឱ្យមានកំហុស។
# print(l.pop(100))
# IndexError: pop index out of range
សូមចំណាំថា pop(0) ដែលដកធាតុទីមួយចេញ ទាមទារការចំណាយខាងក្រោម ហើយមិនមែនជាប្រតិបត្តិការដ៏មានប្រសិទ្ធភាពនោះទេ។ សូមមើលទំព័រខាងក្រោមនៅលើវិគីផ្លូវការសម្រាប់ភាពស្មុគស្មាញនៃការគណនានៃប្រតិបត្តិការផ្សេងៗនៅក្នុងបញ្ជី។O(n)
O(1)
ប្រភេទ deque ត្រូវបានផ្ដល់ក្នុងម៉ូឌុលបណ្ដុំបណ្ណាល័យស្ដង់ដារជាប្រភេទដែលលុបធាតុទៅខាងលើដោយតម្លៃនេះ។ ឧទាហរណ៍ ប្រសិនបើអ្នកចង់ចាត់ទុកទិន្នន័យជាជួរ (FIFO) វាកាន់តែមានប្រសិទ្ធភាពក្នុងការប្រើ deque ។
ស្វែងរកធាតុដែលមានតម្លៃដែលបានបញ្ជាក់ ហើយដកធាតុទីមួយចេញ។:remove()
វិធីសាស្ត្របញ្ជីលុប () អាចត្រូវបានប្រើដើម្បីស្វែងរកធាតុដែលមានតម្លៃដូចគ្នានឹងបានបញ្ជាក់ហើយដកធាតុទីមួយចេញ។
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']
ប្រសិនបើបញ្ជីមានធាតុច្រើនជាងមួយដែលត្រូវនឹងតម្លៃដែលបានបញ្ជាក់នោះ មានតែធាតុទីមួយប៉ុណ្ណោះដែលនឹងត្រូវដកចេញ។
l.remove('Bob')
print(l)
# ['Charlie', 'Bob', 'Dave']
ប្រសិនបើតម្លៃដែលមិនមានគឺត្រូវបានបញ្ជាក់ កំហុសកើតឡើង។
# l.remove('xxx')
# ValueError: list.remove(x): x not in list
ការលុបដោយការបញ្ជាក់ទីតាំង និងជួរនៅក្នុងផ្នែកលិបិក្រម:del
អ្នកក៏អាចប្រើសេចក្តីថ្លែងការណ៍ del ដើម្បីលុបធាតុចេញពីបញ្ជី។
បញ្ជាក់ធាតុដែលត្រូវលុបដោយលិបិក្រមរបស់វា។ សន្ទស្សន៍ដំបូង (ដំបូង) គឺ 0 ហើយសន្ទស្សន៍ចុងក្រោយ (ចុងក្រោយ) គឺ -1 ។
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[0]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[-1]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8]
del l[6]
print(l)
# [1, 2, 3, 4, 5, 6, 8]
ប្រសិនបើអ្នកបញ្ជាក់ជួរជាមួយចំណិត អ្នកអាចលុបធាតុជាច្រើនក្នុងពេលតែមួយ។
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del l[2:5]
print(l)
# [0, 1, 5, 6, 7, 8, 9]
l = list(range(10))
del l[:3]
print(l)
# [3, 4, 5, 6, 7, 8, 9]
l = list(range(10))
del l[4:]
print(l)
# [0, 1, 2, 3]
l = list(range(10))
del l[-3:]
print(l)
# [0, 1, 2, 3, 4, 5, 6]
វាក៏អាចបញ្ជាក់ជួរទាំងមូល និងលុបធាតុទាំងអស់។
l = list(range(10))
del l[:]
print(l)
# []
[start:stop:step]
ប្រសិនបើអ្នកបញ្ជាក់ជួរនៅក្នុងចំណិតតាមវិធីនេះ ហើយបញ្ជាក់ជំហានបន្ថែម អ្នកអាចលុបធាតុលោតច្រើនក្នុងពេលតែមួយ។
l = list(range(10))
del l[2:8:2]
print(l)
# [0, 1, 3, 5, 7, 8, 9]
l = list(range(10))
del l[::3]
print(l)
# [1, 2, 4, 5, 7, 8]
សម្រាប់ព័ត៌មានបន្ថែមអំពីការកាត់ សូមមើលអត្ថបទខាងក្រោម។
បាច់លុបធាតុជាច្រើនដែលបំពេញតាមលក្ខណៈវិនិច្ឆ័យ។:ការចង្អុលបង្ហាញអំពីបញ្ជី
ដំណើរការនៃការដកចេញនូវធាតុដែលបំពេញលក្ខខណ្ឌគឺស្មើនឹងដំណើរការនៃការចាកចេញ (ការស្រង់ចេញ) ធាតុដែលមិនបំពេញលក្ខខណ្ឌ។ កំណត់ចំណាំក្នុងបញ្ជីត្រូវបានប្រើសម្រាប់ដំណើរការប្រភេទនេះ។
- អត្ថបទដែលទាក់ទង:ការប្រើសញ្ញាសម្គាល់ការយល់បញ្ជី Python
ឧទាហរណ៍នៃការដកធាតុសេស ឬគូ (= ទុកធាតុគូ ឬសេស) ត្រូវបានបង្ហាញខាងក្រោម។%
នេះគឺជាប្រតិបត្តិករដែលនៅសល់។i % 2
នេះជាផ្នែកដែលនៅសល់ដែលខ្ញុំចែកនឹង ២។
នៅក្នុងបញ្ជីកំណត់ចំណាំ បញ្ជីថ្មីមួយត្រូវបានបង្កើត។ មិនដូចវិធីសាស្រ្តប្រភេទបញ្ជីដែលបានណែនាំរហូតមកដល់ពេលនេះ បញ្ជីដើមនៅតែមិនផ្លាស់ប្តូរ។
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print([i for i in l if i % 2 == 0])
# [0, 2, 4, 6, 8]
print([i for i in l if i % 2 != 0])
# [1, 3, 5, 7, 9]
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ឧទាហរណ៍ផ្សេងទៀត។ ភាពខុសគ្នានៃដំណើរការគឺអាចធ្វើទៅបានអាស្រ័យលើកន្សោមតាមលក្ខខណ្ឌ។
l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print([s for s in l if s != 'Bob'])
# ['Alice', 'Charlie', 'David']
print([s for s in l if s.endswith('e')])
# ['Alice', 'Charlie']
ប្រសិនបើអ្នកចង់លុបធាតុស្ទួនចេញ សូមប្រើប្រភេទសំណុំកំណត់។
print(list(set(l)))
# ['David', 'Alice', 'Charlie', 'Bob']