ຮຽນຮູ້ໂຄງສ້າງຂໍ້ມູນ Python Set/Frozenset - ພາກທີ 4


ໃນພາກ 4 ຂອງຊຸດໂຄງສ້າງຂໍ້ມູນ Python ນີ້, ພວກເຮົາຈະໄດ້ສົນທະນາກ່ຽວກັບສິ່ງທີ່ ກຳ ນົດໄວ້, ມັນແຕກຕ່າງຈາກໂຄງສ້າງຂໍ້ມູນອື່ນໆໃນ python, ວິທີການສ້າງວັດຖຸທີ່ ກຳ ນົດ, ລຶບວັດຖຸທີ່ ກຳ ນົດແລະວິທີການຂອງວັດຖຸທີ່ ກຳ ນົດ.

  • ວັດຖຸທີ່ ກຳ ນົດໄວ້ແມ່ນການຮວບຮວມສິ່ງຂອງທີ່ບໍ່ສາມາດຍົກຍ້າຍໄດ້.
  • ຕັ້ງຄ່າເອົາສິ່ງທີ່ຊໍ້າຊ້ອນອອກຈາກວັດຖຸໂດຍອັດຕະໂນມັດ.
  • ເນື່ອງຈາກວັດຖຸທີ່ ກຳ ນົດໄວ້ແມ່ນບໍ່ມີຂອບເຂດ, ບໍ່ມີການສະ ໜັບ ສະ ໜູນ ການດັດສະນີແລະການຕັດສິ້ນ

ປະຈຸບັນມີສອງປະເພດທີ່ ກຳ ນົດໄວ້.

<

  • ຊຸດ - ເນື່ອງຈາກມັນສາມາດສັບປ່ຽນໄດ້, ມັນບໍ່ມີຄ່າຫຍັງເລີຍແລະບໍ່ສາມາດໃຊ້ເປັນປຸ່ມຄົ້ນຫາຫລືເປັນສ່ວນປະກອບຂອງຊຸດອື່ນໄດ້.
  • frozenset - ບໍ່ສາມາດປ່ຽນແປງໄດ້ແລະບໍ່ສາມາດປ່ຽນແປງໄດ້ - ເນື້ອໃນຂອງມັນບໍ່ສາມາດປ່ຽນແປງໄດ້ຫຼັງຈາກສ້າງແລ້ວ ເພາະສະນັ້ນ, ມັນສາມາດຖືກໃຊ້ເປັນກຸນແຈວັດຈະນານຸກົມຫລືເປັນສ່ວນປະກອບຂອງຊຸດອື່ນ.
  • ກໍ່ສ້າງວັດຖຸທີ່ ກຳ ນົດໄວ້

    ສ້າງຊຸດໂດຍໃຊ້ວິທີການສ້າງຜູ້ກໍ່ສ້າງ“ ກຳ ນົດ()” ຫຼືໃຊ້ສາຍເຊືອກຜູກດ້ວຍຈຸດຈໍ້າຈຸດແຍກສ່ວນປະກອບ“ {a, b, c}”.

    ໝາຍ ເຫດ: ທ່ານບໍ່ສາມາດສ້າງວັດຖຸທີ່ ກຳ ນົດໄວ້ຜ່ານສາຍເຊືອກຫວ່າງເພາະມັນຈະສ້າງວັດຈະນານຸກົມ.

    ຕັ້ງວິທີການ

    ໃຊ້“ dir()” ທີ່ມີຢູ່ໃນການ ທຳ ງານເພື່ອບອກວິທີການແລະຄຸນລັກສະນະຕ່າງໆ.

    ເພີ່ມອົງປະກອບເພື່ອ ກຳ ນົດຈຸດປະສົງ

    ດັ່ງທີ່ໄດ້ກ່າວມາແລ້ວ, ຊຸດແມ່ນປະເພດທີ່ປ່ຽນແປງໄດ້. ທ່ານສາມາດເພີ່ມ, ລຶບ, ປັບປຸງວັດຖຸທີ່ທ່ານ ກຳ ນົດໄວ້ເມື່ອສ້າງແລ້ວ.

    ໃຫ້ພວກເຮົາເວົ້າກ່ຽວກັບສອງວິທີການທີ່ ກຳ ນົດໄວ້ຕື່ມແລະອັບເດດ.

    • ເພີ່ມ (elem) ວິທີການ - ວິທີການນີ້ເພີ່ມອົງປະກອບດຽວເຂົ້າໃນວັດຖຸທີ່ ກຳ ນົດໄວ້.
    • ວິທີການປັບປຸງ
    • (* ອື່ນໆ) - ວິທີການນີ້ເພີ່ມຫຼາຍອົງປະກອບເຂົ້າໃນວັດຖຸທີ່ ກຳ ນົດໄວ້. ທ່ານສາມາດຖ່າຍທອດວັດຖຸທີ່ສາມາດປ່ຽນແປງໄດ້ແລະບໍ່ສາມາດປ່ຽນແປງໄດ້ເປັນການໂຕ້ຖຽງໃນວິທີການປັບປຸງ.

    ໝາຍ ເຫດ: ຊໍ້າກັນຈະຖືກລຶບອອກໂດຍອັດຕະໂນມັດ.

    ເອົາ/ລ້າງອົງປະກອບອອກຈາກຈຸດປະສົງທີ່ ກຳ ນົດໄວ້

    ດັ່ງທີ່ທ່ານໄດ້ເຫັນຜ່ານມາໃນຫົວຂໍ້ໂຄງສ້າງຂໍ້ມູນອື່ນໆ (ລາຍຊື່, ເຊັກ, ວັດຈະນານຸກົມ), ສຳ ລັບຊຸດທ່ານກໍ່ສາມາດໃຊ້ ຄຳ ທີ່ໃຊ້ແລ້ວ“ del” ເພື່ອລຶບວັດຖຸທີ່ ກຳ ນົດໄວ້ຈາກ namespace (i.e Memory).

    ຂ້າງລຸ່ມນີ້ແມ່ນວິທີການເພື່ອ ກຳ ນົດວັດຖຸເພື່ອ ກຳ ຈັດອົງປະກອບ.

    • clear() - ຈະ ກຳ ຈັດອົງປະກອບທັງ ໝົດ ທີ່ເຮັດໃຫ້ຊຸດເປົ່າ. ວິທີການທີ່ຊັດເຈນນີ້() ມີຢູ່ໃນໂຄງສ້າງຂໍ້ມູນອື່ນໆທີ່ໃຫ້ການເຮັດວຽກຄືກັນ.
    • pop() - ກຳ ຈັດອົງປະກອບທີ່ຕົນເອງມັກ.
    • ຍົກເລີກ (ສິບເອັດ) - ຖ້າສິ່ງຂອງບໍ່ພົບໃນວັດຖຸທີ່ ກຳ ນົດໄວ້ແລ້ວວິທີການ“ ຍົກເລີກ()” ຈະບໍ່ມີຂໍ້ຜິດພາດໃດໆ.
    • ເອົາ (ສິບເອັດ) - ຄືກັນກັບວິທີການ“ ຍົກເລີກ()” ແຕ່ວ່າມັນຈະຍົກ KeyError ໃນເວລາທີ່ບໍ່ພົບສິນຄ້າ.

    ກໍານົດການປະຕິບັດງານ

    ຊຸດສະ ໜອງ ວິທີການໃນການປະຕິບັດງານທາງຄະນິດສາດເຊັ່ນ: ການຕັດກັນ, ສະຫະພາບ, ຄວາມແຕກຕ່າງແລະຄວາມແຕກຕ່າງທາງດ້ານ symmetric ຈື່ "ແຜນວາດ Venn" ຈາກວັນເວລາຮຽນຂອງເຈົ້າບໍ?

    ພວກເຮົາຈະພິຈາລະນາວິທີການຂ້າງລຸ່ມນີ້ກ່ຽວກັບວິທີການປະຕິບັດງານທາງຄະນິດສາດ.

    • ສະຫະພາບ
    • ຕັດກັນ
    • intersection_update
    • symmetric_difference
    • symmetric_difference_update
    • ຄວາມແຕກຕ່າງ
    • ແຕກຕ່າງ - ປັບປຸງ
    • isdisjoint
    • ອອກບັດ
    • ຜູ້ອອກໃບສະ ເໜີ

      ສະຫະພາບ
    • (* ອື່ນໆ) - ກັບຄືນຊຸດ ໃໝ່ ທີ່ມີສ່ວນປະກອບຈາກຊຸດແລະອື່ນໆທັງ ໝົດ.
    • ຕັດກັນ (* ອື່ນໆ) - ສົ່ງຊຸດ ໃໝ່ ທີ່ມີສ່ວນປະກອບທົ່ວໄປກັບຊຸດແລະອື່ນໆທັງ ໝົດ.
    • ຄວາມແຕກຕ່າງ
    • (* ອື່ນໆ) - ສົ່ງຄືນຊຸດ ໃໝ່ ທີ່ມີສ່ວນປະກອບໃນຊຸດທີ່ບໍ່ຢູ່ໃນຊຸດອື່ນໆ.
    • symmetric_difference (ອື່ນໆ) - ສົ່ງຊຸດ ໃໝ່ ທີ່ມີສ່ວນປະກອບອອກມາບໍ່ວ່າຈະຢູ່ໃນຊຸດຫຼືອື່ນໆແຕ່ບໍ່ແມ່ນທັງສອງ.

    intersection_update (* ອື່ນໆ) - ປັບປຸງຊຸດ, ຮັກສາພຽງແຕ່ອົງປະກອບທີ່ພົບໃນມັນແລະອື່ນໆທັງ ໝົດ.

    difference_update (* ຄົນອື່ນ) - ປັບປຸງຊຸດ, ຮັກສາພຽງແຕ່ອົງປະກອບທີ່ພົບຢູ່ໃນມັນແລະອື່ນໆ.

    symmetric_difference_update (ອື່່ນ ໆ ) - ປັບປຸງຊຸດ, ຮັກສາພຽງແຕ່ອົງປະກອບທີ່ພົບໃນທັງສອງຊຸດ, ແຕ່ບໍ່ແມ່ນທັງສອງຢ່າງ.

    • isdisjoint (ອື່ນໆ) - Return True ຖ້າຊຸດບໍ່ມີອົງປະກອບໃດ ໜຶ່ງ ທີ່ຄ້າຍຄືກັນກັບເຄື່ອງອື່ນ. ຊຸດທີ່ເສີຍຫາຍໄປຖ້າແລະຖ້າຫາກວ່າການຕັດກັນຂອງພວກມັນແມ່ນຊຸດຫວ່າງແລ້ວ.
    • issubset() - ທົດສອບວ່າທຸກໆອົງປະກອບໃນຊຸດແມ່ນຢູ່ບ່ອນອື່ນ.
    • issuperset() - ທົດສອບວ່າທຸກໆອົງປະກອບໃນສ່ວນອື່ນແມ່ນຢູ່ໃນຊຸດຫຼືບໍ່.

    ທ່ານສາມາດສ້າງ ສຳ ເນົາວັດຖຸທີ່ ກຳ ນົດໄວ້ທີ່ມີຢູ່ແລ້ວໂດຍໃຊ້ແບບ copy(). ວິທີການນີ້ຍັງສາມາດໃຊ້ໄດ້ ສຳ ລັບປະເພດໂຄງສ້າງຂໍ້ມູນອື່ນໆເຊັ່ນ: ບັນຊີ, ວັດຈະນານຸກົມແລະອື່ນໆ…

    ລົບວັດຖຸທີ່ ກຳ ນົດໄວ້ອອກຈາກ namespace ໂດຍໃຊ້ ຄຳ ວ່າ“ del” ທີ່ຖືກສ້າງຂຶ້ນມາ.

    • ຊຸດ Frozen ແມ່ນປະເພດທີ່ບໍ່ປ່ຽນແປງໄດ້. ເມື່ອສ້າງແລ້ວທ່ານບໍ່ສາມາດເພີ່ມ, ເອົາຫຼືປັບປຸງອົງປະກອບຕ່າງໆອອກຈາກບັນຊີ.
    • ຊຸດກ້ອນທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້ເປັນສິ່ງທີ່ຍົກເລີກ, ສາມາດໃຊ້ເປັນ“ ກຸນແຈ” ສຳ ລັບວັດຈະນານຸກົມຫຼືສ່ວນປະກອບ ສຳ ລັບວັດຖຸທີ່ ກຳ ນົດໄວ້ອີກ.
    • ຊຸດກ້ອນຖືກສ້າງຂຶ້ນໂດຍໃຊ້“ frozenset()” ຟັງຊັນ.
    • ຊຸດ ໜາວ ຈັດໃຫ້ວິທີການແບບດຽວກັນໃນການປຽບທຽບກັບ“ ຊຸດ” ຄືກັບສະຫະພັນ(), ການຊ້ອນກັນ, ສຳ ເນົາ(), isdisjoint() ແລະອື່ນໆ

    ໃນບົດຂຽນນີ້ທ່ານໄດ້ເຫັນສິ່ງທີ່ຖືກ ກຳ ນົດໄວ້, ຄວາມແຕກຕ່າງລະຫວ່າງຊຸດແລະຊຸດ frozen, ວິທີການສ້າງແລະເຂົ້າເຖິງອົງປະກອບທີ່ ກຳ ນົດໄວ້, ວິທີການທີ່ ກຳ ນົດໄວ້ແລະອື່ນໆ…