ໃນການຂຽນໂປລແກລມ, ລາຍຊື່ບາງທີອາດເປັນໂຄງສ້າງຂໍ້ມູນທີ່ເປັນປະໂຫຍດເປັນ arrays. ບັນຊີລາຍຊື່ແມ່ນຫຍັງ, ວິທີການສ້າງພວກມັນ? ວິທີການເຮັດວຽກກັບລາຍຊື່ໃນ Python? ທ່ານຈະຮຽນຮູ້ກ່ຽວກັບເລື່ອງນີ້ຈາກບົດຄວາມຂອງພວກເຮົາ.
ລາຍຊື່ໃນ Python ແມ່ນຫຍັງ?
ບັນຊີລາຍຊື່ສາມາດຖືກກໍານົດບາງສ່ວນກັບ arrays, ແຕ່ຄວາມແຕກຕ່າງແລະຄວາມໄດ້ປຽບຂອງລາຍຊື່ (ຖ້າບໍ່ດັ່ງນັ້ນພວກເຂົາຍັງເອີ້ນວ່າລາຍຊື່) ແມ່ນວ່າພວກເຂົາສາມາດລວມເອົາປະເພດຂໍ້ມູນທີ່ແຕກຕ່າງກັນ. ນັ້ນແມ່ນ, ບັນຊີລາຍຊື່ເປີດຄວາມເປັນໄປໄດ້ຫຼາຍສໍາລັບການເກັບຮັກສາລໍາດັບຂອງວັດຖຸໃດໆ. ຕົວແປ, ເອີ້ນວ່າບັນຊີລາຍຊື່, ປະກອບດ້ວຍການອ້າງອີງເຖິງໂຄງສ້າງໃນຫນ່ວຍຄວາມຈໍາທີ່ປະກອບດ້ວຍການອ້າງອີງເຖິງໂຄງສ້າງທາງເລືອກ.
ລາຍຊື່ໃນ Python ແມ່ນການລວບລວມວັດຖຸຕາມລໍາດັບຂອງປະເພດປະສົມທີ່ສາມາດດັດແປງໄດ້ແລະວັດຖຸທີ່ອາດຈະແຕກຕ່າງກັນ.
ມັນຫມາຍຄວາມວ່າແນວໃດ? ໃຫ້ພິຈາລະນາຄໍານິຍາມຢ່າງລະອຽດ.
ຂະຫນາດຂອງລາຍຊື່ສາມາດປ່ຽນແປງ, ຫຼຸດລົງ, ເສັ້ນໃຫມ່ເພີ່ມໃສ່ມັນ. ນອກນັ້ນທ່ານຍັງສາມາດປ່ຽນໂຄງສ້າງທັງຫມົດຂອງບັນຊີລາຍຊື່. ຈົ່ງຈື່ໄວ້ວ່າທຸກໆຄັ້ງທີ່ວິທີການໃນບັນຊີລາຍຊື່ຖືກນໍາໃຊ້, ບັນຊີລາຍຊື່ຕົ້ນສະບັບຈະຖືກປ່ຽນແປງ, ບໍ່ແມ່ນສໍາເນົາ.
ເພື່ອຄວາມຊັດເຈນຫຼາຍຂຶ້ນ, ທ່ານສາມາດຄິດວ່າລາຍຊື່ໃນ Python ເປັນບັນຊີລາຍຊື່ຂອງຜະລິດຕະພັນທີ່ຕ້ອງການຊື້ໃນຮ້ານ. ຖ້າ, ເມື່ອສ້າງແຜນການຊື້ເຄື່ອງ, ລາຍການທີ່ຈໍາເປັນທັງຫມົດແມ່ນຕັ້ງຢູ່ຂ້າງລຸ່ມ, ແລະແຕ່ລະຄົນມີເສັ້ນຂອງຕົນເອງ, ຫຼັງຈາກນັ້ນ, ລາຍຊື່ໃນ Python ມີອົງປະກອບທັງຫມົດທີ່ແຍກອອກດ້ວຍເຄື່ອງໝາຍຈຸດແລະໃນວົງເລັບສີ່ຫຼ່ຽມເພື່ອໃຫ້ Python ສາມາດເຂົ້າໃຈວ່າ. ບັນຊີລາຍຊື່ແມ່ນຊີ້ໃຫ້ເຫັນຢູ່ທີ່ນີ້. ອົງປະກອບແມ່ນຕິດຢູ່ໃນເຄື່ອງໝາຍວົງຢືມ. ນີ້ແມ່ນເງື່ອນໄຂທີ່ບັງຄັບ, ເພາະວ່າແຕ່ລະອົງປະກອບແມ່ນສາຍແຍກຕ່າງຫາກ.
ວິທີການສ້າງບັນຊີລາຍຊື່
ກ້າວໄປສູ່ຕົວຢ່າງຄລາສສິກ, ໃຫ້ສ້າງບັນຊີລາຍຊື່ທີ່ພວກເຮົາຈະໃຊ້ແລະດັດແປງໃນອະນາຄົດ. ມີຫຼາຍວິທີໃນການສ້າງລາຍຊື່.
ຫນຶ່ງໃນນັ້ນແມ່ນຄໍາຮ້ອງສະຫມັກ ລາຍຊື່ຟັງຊັນໃນຕົວ( ). ເພື່ອເຮັດສິ່ງນີ້, ທ່ານຈໍາເປັນຕ້ອງປຸງແຕ່ງວັດຖຸທີ່ສາມາດ iterated ໄດ້ (ສາຍ, tuple, ຫຼືບັນຊີລາຍຊື່ທີ່ມີຢູ່ແລ້ວ). ໃນກໍລະນີນີ້, ເຊືອກ.
ນີ້ແມ່ນສິ່ງທີ່ເກີດຂຶ້ນໃນທີ່ສຸດ:
>>> list('list') ['c', 'n', 'i', 'c', 'o', 'to']
ຕົວຢ່າງທີສອງສະແດງໃຫ້ເຫັນວ່າລາຍການສາມາດບັນຈຸວັດຖຸທີ່ແຕກຕ່າງກັນຫຼາຍບໍ່ຈໍາກັດ. ນອກຈາກນີ້, ບັນຊີລາຍຊື່ສາມາດຍັງຫວ່າງເປົ່າ.
>>> s = [ ] # ບັນຊີລາຍຊື່ເປົ່າ >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]
ຕໍ່ໄປ, ທີສາມ, ວິທີການສ້າງລາຍຊື່ແມ່ນອັນທີ່ເອີ້ນວ່າ ຜູ້ຜະລິດລາຍຊື່.
ຜູ້ຜະລິດລາຍຊື່ແມ່ນໂຄງສ້າງ syntactic ສໍາລັບການສ້າງລາຍຊື່. ມັນຄ້າຍຄືກັນກັບ for loop.
>>> c = [c*3 for c in 'list'] >>> c['lll', 'iii', 'sss', 'ttt']
ມັນຍັງສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງໂຄງສ້າງ voluminous ຫຼາຍ:
>>> c = [c * 3 ສໍາລັບ c ໃນ 'list' ຖ້າ c != 'i'] >>> c ['ll', 'sss', 'ttt'] >>> c = [c + d ສໍາລັບ c ໃນ 'list' ຖ້າ c != 'i' ສໍາລັບ d ໃນ 'spam' ຖ້າ d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']
ຢ່າງໃດກໍຕາມ, ວິທີການຜະລິດນີ້ແມ່ນບໍ່ມີປະສິດທິພາບສະເຫມີໃນເວລາທີ່ລວບລວມບັນຊີລາຍຊື່ຫຼາຍ. ດັ່ງນັ້ນ, ຄວນໃຊ້ a for loop ເພື່ອສ້າງລາຍຊື່.
ຖ້າທ່ານຕ້ອງການອ້າງອີງໃສ່ອົງປະກອບໃດໆຈາກບັນຊີລາຍຊື່, ຫຼັງຈາກນັ້ນ, ດັດສະນີຖືກນໍາໃຊ້. ແຕ່ລະອົງປະກອບມີດັດຊະນີຂອງຕົນເອງ.
ດັດຊະນີແມ່ນຈໍານວນຂອງອົງປະກອບໃນບັນຊີລາຍຊື່.
ຖ້າທ່ານຕ້ອງການຕື່ມຂໍ້ມູນໃສ່ລາຍຊື່ດ້ວຍອົງປະກອບທີ່ຊ້ໍາກັນ, ສັນຍາລັກ * ຖືກນໍາໃຊ້. ສໍາລັບຕົວຢ່າງ, ທ່ານຈໍາເປັນຕ້ອງໄດ້ເພີ່ມສາມຕົວເລກດຽວກັນກັບບັນຊີລາຍຊື່: [100] * 3.
ຟັງຊັນລາຍການ
ຫນ້າທີ່ - ນີ້ອາດຈະເປັນປະໂຫຍດຕົ້ນຕໍຂອງ Python ຫຼາຍກວ່າພາສາການຂຽນໂປຼແກຼມອື່ນໆ. ຟັງຊັນພື້ນຖານໃນຕົວສາມາດຖືກນໍາໃຊ້ກັບລາຍການ.
ພິຈາລະນາທີ່ນິຍົມຫຼາຍທີ່ສຸດຂອງພວກເຂົາ:
- ລາຍການ(ໄລຍະ()) – ຖ້າຫາກວ່າວຽກງານແມ່ນການສ້າງບັນຊີລາຍການຕາມລໍາດັບ, ຫຼັງຈາກນັ້ນການທໍາງານຂອງໄລຍະໄດ້ຖືກນໍາໃຊ້. ຟັງຊັນນີ້ມີຮູບແບບດັ່ງຕໍ່ໄປນີ້:
- ຊ່ວງ(ທ້າຍ). ມັນຖືກນໍາໃຊ້ໃນເວລາທີ່ມີຄວາມຈໍາເປັນໃນການສ້າງລາຍຊື່ຈາກສູນໄປຫາຈໍານວນຈໍາກັດ.
- ຊ່ວງ (ເລີ່ມ, ທ້າຍ). ທັງຕົວເລກເລີ່ມຕົ້ນ ແລະຕົວເລກທ້າຍແມ່ນລະບຸໄວ້.
- ໄລຍະ (ເລີ່ມຕົ້ນ, ສິ້ນສຸດ, ຂັ້ນຕອນ). ຕົວກໍານົດການຂັ້ນຕອນກໍານົດລັກສະນະການຄັດເລືອກ. ຕົວຢ່າງ, ຖ້າທ່ານຕ້ອງການເລືອກທຸກຕົວເລກທີ່ຫ້າຈາກລໍາດັບຈາກ 1 ຫາ 21, ຫຼັງຈາກນັ້ນ, ລາຍຊື່ຜົນໄດ້ຮັບຈະເບິ່ງຄືວ່າ: [10,15, 20].
ຟັງຊັນໄລຍະສາມາດຫຼຸດລົງຢ່າງຫຼວງຫຼາຍຂອງລະຫັດ.
- flax (ບັນຊີລາຍຊື່) – ອະນຸຍາດໃຫ້ທ່ານຊອກຫາຈໍານວນອົງປະກອບຢູ່ໃນບັນຊີລາຍຊື່.
- ຈັດຮຽງ(ລາຍຊື່, [key]) - ຈັດລຽງສິ່ງຂອງໃນບັນຊີລາຍການໃນລໍາດັບຕັ້ງຂຶ້ນ.
- ສູງສຸດ (ລາຍຊື່) - ກັບຄືນອົງປະກອບທີ່ໃຫຍ່ທີ່ສຸດ.
- ນາທີ (ລາຍການ) - ຟັງຊັນກົງກັນຂ້າມ - ຊ່ວຍໃຫ້ທ່ານສົ່ງຄືນອົງປະກອບທີ່ມີຄ່າຕໍ່າສຸດ.
ທ່ານຍັງສາມາດໃຊ້ຟັງຊັນອື່ນໆໃນຕົວ:
- ລາຍການ(tuple) - ປ່ຽນວັດຖຸ tuple ເປັນລາຍການ.
- ລວມ(ລາຍຊື່) – ຜົນລວມຂອງອົງປະກອບທັງຫມົດໃນບັນຊີລາຍການຖ້າຫາກວ່າຄ່າທັງຫມົດແມ່ນຕົວເລກ, ນໍາໃຊ້ກັບທັງສອງຈໍານວນເຕັມແລະທົດສະນິຍົມ. ຢ່າງໃດກໍຕາມ, ນາງບໍ່ໄດ້ສະເຫມີວ່າມັນຖືກຕ້ອງ. ຖ້າມີອົງປະກອບທີ່ບໍ່ແມ່ນຕົວເລກຢູ່ໃນລາຍຊື່, ຟັງຊັນຈະຖິ້ມຄວາມຜິດພາດ: "TypeError: unsupported operand type(s) for +: 'int' and 'str'".
ວິທີການລາຍຊື່
ໃຫ້ກັບຄືນໄປຫາບັນຊີລາຍຊື່ຂອງພວກເຮົາທີ່ຈະຊື້ໃນຮ້ານແລະໂທຫາມັນ shoplist:
ລາຍການຮ້ານຄ້າ = []
ຕໍ່ໄປ, ພິຈາລະນາວິທີການລາຍຊື່:
- ເພີ່ມເຕີມ (ລາຍການ) - ດ້ວຍການຊ່ວຍເຫຼືອຂອງມັນ, ທ່ານສາມາດເພີ່ມອົງປະກອບໃສ່ບັນຊີລາຍຊື່. ໃນກໍລະນີນີ້, ອົງປະກອບໃຫມ່ຈະຢູ່ໃນຕອນທ້າຍ.
ໃຫ້ພວກເຮົາຕື່ມຂໍ້ມູນໃສ່ລາຍຊື່ໃຫມ່ຂອງພວກເຮົາດ້ວຍຜະລິດຕະພັນທີ່ຖືກຕ້ອງ:
shoplist.append(ເຂົ້າຈີ່)
shoplist.append(ນົມ)
- ລາຍຊື່ຂະຫຍາຍ(A) - ເພີ່ມ "ບັນຊີລາຍຊື່ໃນບັນຊີລາຍຊື່". ຄຸນສົມບັດນີ້ປະຫຍັດເວລາຍ້ອນວ່າທ່ານສາມາດເພີ່ມຫຼາຍລາຍການໃນເວລາດຽວກັນ. ໃຫ້ເວົ້າວ່າພວກເຮົາມີບັນຊີລາຍຊື່ຂອງຫມາກໄມ້ແລ້ວ, ພວກເຮົາຈໍາເປັນຕ້ອງເພີ່ມພວກມັນເຂົ້າໃນບັນຊີລາຍຊື່ຕົ້ນຕໍ.
shoplist.extend(ຫມາກໄມ້)
- insert(index, item) - ໃສ່ອົງປະກອບທີ່ມີດັດຊະນີທີ່ລະບຸຄ່າທີ່ລະບຸໄວ້ກ່ອນດັດຊະນີທີ່ລະບຸ.
- lcount(ລາຍການ) - ສະແດງໃຫ້ເຫັນຈໍານວນຂອງການຊ້ໍາຂອງອົງປະກອບ.
- ລາຍຊື່ເອົາອອກ(ລາຍການ) ແມ່ນຫນ້າທີ່ກົງກັນຂ້າມ ລາຍຊື່ເພີ່ມເຕີມ (x). ມັນສາມາດຖືກນໍາໃຊ້ເພື່ອເອົາອົງປະກອບໃດໆ. ຖ້າລາຍການທີ່ເລືອກບໍ່ຢູ່ໃນລາຍຊື່, ຂໍ້ຜິດພາດຈະຖືກລາຍງານ.
- ປັອບ([index]) – ເອົາອົງປະກອບທີ່ເລືອກໄວ້ແລະກັບຄືນມາໃນວິທີການດຽວກັນ. ຖ້າອົງປະກອບບໍ່ໄດ້ຖືກລະບຸ, ຫຼັງຈາກນັ້ນອົງປະກອບສຸດທ້າຍຈະຖືກລຶບອອກຈາກບັນຊີລາຍຊື່.
- ຄັດ([key]) - ວາງອົງປະກອບໃນລາຍຊື່ໃນລໍາດັບແຕ່ໃຫຍ່ຫານ້ອຍ, ແຕ່ທ່ານຍັງສາມາດກໍານົດຫນ້າທີ່.
- ດັດຊະນີ(ລາຍການ) – ສະແດງໃຫ້ເຫັນດັດຊະນີຂອງອົງປະກອບທີ່ເລືອກທໍາອິດ.
- ທ່ານສາມາດຂະຫຍາຍບັນຊີລາຍຊື່, ນັ້ນແມ່ນ, ສະທ້ອນອົງປະກອບຂອງມັນທັງຫມົດ, ໂດຍໃຊ້ວິທີການ ປີ້ນກັບກັນ. ອົງປະກອບສຸດທ້າຍກາຍເປັນທໍາອິດ, ອົງປະກອບ penultimate ກາຍເປັນທີສອງ, ແລະອື່ນໆ.
- ສໍາເນົາຂອງບັນຊີລາຍຊື່ແມ່ນຖືກສ້າງຂຶ້ນດ້ວຍຄໍາສັ່ງ ສຳເນົາ(ລາຍຊື່).
- ສຳເນົາເລິກ - ການສໍາເນົາເລິກ.
- ເອົາອົງປະກອບລາຍຊື່ທັງຫມົດອອກໂດຍໃຊ້ວິທີການ ແຈ້ງ.
ມັນເປັນມູນຄ່າທີ່ສັງເກດວ່າວິທີການລາຍຊື່ແຕກຕ່າງຈາກວິທີການສະຕຣິງທີ່ພວກເຂົາປ່ຽນລາຍຊື່ທັນທີ, ນັ້ນແມ່ນ, ບໍ່ຈໍາເປັນຕ້ອງສົ່ງຄືນຜົນຂອງການປະຕິບັດ.
>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> ພິມ(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]