Sets (ข้อมูลไม่เรียงลำดับที่มีการดำเนินการทางตรรกะที่ปรับให้เหมาะสม)

ประเภทข้อมูลใน Python

Jason Myers

Instructor

Set

  • ไม่ซ้ำกัน
  • ไม่เรียงลำดับ
  • เปลี่ยนแปลงได้
  • การนำ Set Theory ทางคณิตศาสตร์มาใช้ใน Python
ประเภทข้อมูลใน Python

การสร้าง Set

  • สร้าง Set จาก list
cookies_eaten_today = ['chocolate chip', 'peanut butter', 
   ...: 'chocolate chip', 'oatmeal cream', 'chocolate chip']

types_of_cookies_eaten = set(cookies_eaten_today)
print(types_of_cookies_eaten)
set(['chocolate chip', 'oatmeal cream', 'peanut butter'])
ประเภทข้อมูลใน Python

การแก้ไข Set

  • .add() เพิ่มสมาชิกทีละหนึ่งรายการ
types_of_cookies_eaten.add('biscotti')

types_of_cookies_eaten.add('chocolate chip')

print(types_of_cookies_eaten)
set(['chocolate chip', 'oatmeal cream', 'peanut butter', 'biscotti'])
ประเภทข้อมูลใน Python

การอัปเดต Set

  • .update() รวม Set หรือ list อื่นเข้าด้วยกัน
cookies_hugo_ate = ['chocolate chip', 'anzac']

types_of_cookies_eaten.update(cookies_hugo_ate)

print(types_of_cookies_eaten)
set(['chocolate chip', 'anzac', 'oatmeal cream',  'peanut butter', 'biscotti'])
ประเภทข้อมูลใน Python

การลบข้อมูลออกจาก Set

  • .discard() ลบสมาชิกออกจาก Set ตามค่าอย่างปลอดภัย
  • .pop() ลบและคืนค่าสมาชิกแบบสุ่ม (KeyError เมื่อ Set ว่าง)
types_of_cookies_eaten.discard('biscotti')

print(types_of_cookies_eaten)
set(['chocolate chip', 'anzac', 'oatmeal cream', 'peanut butter'])
types_of_cookies_eaten.pop()
types_of_cookies_eaten.pop()
'chocolate chip'
'anzac'
ประเภทข้อมูลใน Python

การดำเนินการของ Set - ความเหมือน

  • .union() คืนค่า Set ที่รวมสมาชิกทั้งหมด (or)
  • .intersection() ระบุข้อมูลที่ซ้ำกันระหว่าง Set (and)
cookies_jason_ate = set(['chocolate chip', 'oatmeal cream',
'peanut butter'])
cookies_hugo_ate = set(['chocolate chip', 'anzac'])

cookies_jason_ate.union(cookies_hugo_ate)
set(['chocolate chip', 'anzac', 'oatmeal cream', 'peanut butter'])
cookies_jason_ate.intersection(cookies_hugo_ate)
set(['chocolate chip'])
ประเภทข้อมูลใน Python

การดำเนินการของ Set - ความต่าง

  • .difference() ระบุข้อมูลที่มีใน Set ต้นทางแต่ไม่มีในอาร์กิวเมนต์ (-)
  • Set ต้นทางสำคัญมาก!
cookies_jason_ate.difference(cookies_hugo_ate)
set(['oatmeal cream', 'peanut butter'])
cookies_hugo_ate.difference(cookies_jason_ate)
set(['anzac'])
ประเภทข้อมูลใน Python

มาฝึกกันเถอะ!

ประเภทข้อมูลใน Python

Preparing Video For Download...