Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. ฟังก์ชัน ldexp() ใน Python

    math.ldexp(x, i) คืนค่า x * (2 ** i) เป็น float ตัวอย่าง import math print(math.ldexp(1, 4)) # 16.0 print(math.ldexp(5, -4)) # 0.3125 print(math.ldexp(-3, -1)) # -1.5 Error Handling ถ้า argument ไม่ใช่ตัวเลข จะเกิด TypeError: TypeError: Expected an int as second argument to ldexp. สรุป ใช้

  2. Python - หาตำแหน่งครั้งสุดท้ายของสมาชิกในลิสต์

    หา index ของครั้งสุดท้ายที่สมาชิกปรากฏในลิสต์ วิธีที่ 1: กลับลิสต์แล้วหา index words = [eat, sleep, drink, sleep, drink, sleep, go, come] element = sleep words.reverse() index = words.index(element) print(len(words) - index - 1) # 5 วิธีที่ 2: ใช้ enumerate + max words = [eat, sleep, drink, slee

  3. Python - หาเลขที่ใหญ่ที่สุดจากการเรียงตัวเลขในลิสต์

    หาการเรียงลำดับตัวเลขในลิสต์ที่ต่อกันได้เลขใหญ่สุด วิธีที่ 1: ใช้ itertools.permutations (Brute Force) import itertools numbers = [45, 35, 138, 43, 67] result = [] for permutation in itertools.permutations(str(n) for n in numbers): result.append(.join(permutation)) maximum = max(result, key=

  4. Python - รวมสมาชิกลิสต์ Unicode

    แปลงสมาชิกลิสต์เป็น Unicode แล้วรวมกัน ตัวอย่าง strings = [Tutorialspoint, is a popular, site, for tech leranings] def get_unicode(string): return string.encode() strings_unicode = map(get_unicode, strings) result = .join(unicode.decode() for unicode in strings_unicode) print(result) # Tutor

  5. Python - รวมเฉพาะคำที่อยู่ติดกันในลิสต์ (ไม่รวมตัวเลข)

    รวมเฉพาะสมาชิกที่เป็นตัวอักษร (isalpha) ติดกัน ใส่ตัวเลขท้ายสุด วิธีที่ 1: List Comprehension strings = [Tutorials, 56, 45, point, 1, 4] words = [e for e in strings if e.isalpha()] digits = [e for e in strings if e.isdigit()] result = [.join(words)] + digits print(result) # [Tutorialspoint, 56,

  6. Python - รวมสมาชิกใน Tuple ภายในลิสต์

    รวมสตริงภายใน Tuple แต่ละอันในลิสต์ให้เป็นสตริงเดียว ตัวอย่าง str: return .join(strings_tuple) result = map(join_tuple_string, string_tuples) print(list(result)) # [A B C, Tutorialspoint is a popular site for tech learnings] ผลลัพธ์ [A B C, Tutorialspoint is a popular site for tech learning

  7. Python - หาตัวอักษรร่วมของสตริงสองตัว

    หาตัวอักษรที่ปรากฏในทั้งสองสตริง วิธีที่ 1: วนลูปตรวจสอบ string_1 = tutorialspoint string_2 = tut result = for char in string_1: if char in string_2 and char not in result: result += char print(result) # tu วิธีที่ 2: ใช้ Set string_1 = tutorialspoint string_2 = tut result = set(s

  8. Python - หาค่าร่วมของลิสต์ที่มีสับลิสต์หลายชั้น

    หาสับลิสต์ที่ซ้ำกันระหว่างสองลิสต์หลัก วิธีที่ 1: List Comprehension list_1 = [[1, 2], [3, 4], [5, 6]] list_2 = [[3, 4]] result = [sub_list for sub_list in list_1 if sub_list in list_2] print(result) # [[3, 4]] วิธีที่ 2: ใช้ Set (แปลงเป็น Tuple ก่อน) list_1 = [[1, 2], [3, 4], [5, 6]] list_2 = [

  9. Python - หาค่าร่วมของ Dictionary สองตัวจาก Key

    สร้าง Dictionary ใหม่จาก Key ที่ซ้ำกันในสอง Dictionary ตัวอย่าง: Input: dict_1 = {A: 1, B: 2, C: 3} dict_2 = {A: 1, C: 4, D: 5} Output: {A: 1, C: 3} # ใช้ค่าจาก dict_1 วิธีที่ 1: Dictionary Comprehension dict_1 = {A: 1, B: 2, C: 3} dict_2 = {A: 1, C: 4, D: 5} result = {key: dict_1[key] fo

  10. Python - แทรกค่าในลิสต์ที่เรียงแล้วโดยคงลำดับด้วย bisect

    Python มีโมดูล bisect สำหรับแทรกค่าในลิสต์ที่เรียงแล้วโดยคงลำดับได้อย่างมีประสิทธิภาพ ขั้นตอน Import โมดูล bisect เตรียมลิสต์และค่าที่ต้องการแทรก ใช้ bisect.insort(list, element) พิมพ์ผลลัพธ์ ตัวอย่าง import bisect numbers = [10, 23, 27, 32] element = 25 bisect.insort(numbers, element)

  11. Design Log Storage System: ระบบจัดเก็บล็อกแบบระบุช่วงเวลาใน Python

    ออกแบบระบบจัดเก็บล็อกที่มี ID และ Timestamp (รูปแบบ Year:Month:Day:Hour:Minute:Second) รองรับ 2 ฟังก์ชัน: Put(id, timestamp): เพิ่มล็อก Retrieve(start, end, granularity): คืน ID ของล็อกในช่วงเวลา ตามระดับละเอียด (Year, Month, Day, Hour, Minute, Second) ตัวอย่าง: put(1, 2019:01:01:23:59:59)

  12. Max Increase to Keep City Skyline: เพิ่มความสูงอาคารรักษา Skyline ใน Python

    มีเมทริกซ์ 2 มิติ grid โดย grid[i][j] คือความสูงอาคาร สามารถเพิ่มความสูงอาคารได้เท่าไหร่ก็ได้ แต่ Skyline (เส้นโค้งภูมิทัศน์) เมื่อมองจาก 4 ทิศต้องคงเดิม ให้หาผลรวมการเพิ่มความสูงสูงสุด ตัวอย่าง: grid 4x4 3084 2457 9236 0310 Skyline จากบน/ล่าง: [9, 4, 8, 7] (ค่าสูงสุดแต่ละคอลัมน์) Skylin

  13. Serialize และ Deserialize BST ใน Python

    การ Serialize คือการแปลงโครงสร้างข้อมูล (เช่น Binary Search Tree) ให้เป็นสตริงบิตเพื่อเก็บไฟล์หรือส่งผ่านเครือข่าย การ Deserialize คือกระบวนการย้อนกลับสร้างต้นไม้กลับมา ตัวอย่าง: อินพุต [5,2,9,1,3,7] ให้ผลลัพธ์ Serialize: 5.2.9.1.3.7.N.N.N.N.N.N.N และ Deserialize (inorder): 1, 2, 3, 5, 7, 9 แนวทาง

  14. Campus Bikes II: กำหนดจักรยานให้พนักงานเพื่อระยะทางรวมน้อยที่สุดใน Python

    มีกริด 2 มิติแทนحرมมหาวิทยาลัย มีพนักงาน N คน และจักรยาน M คัน (N ≤ M) แต่ละคนและจักรยานอยู่ที่พิกัด 2 มิติ ต้องจับคู่จักรยานให้แต่ละพนักงาน 1 คัน โดยไม่ซ้ำกัน เพื่อให้ผลรวมระยะทางแมนฮัตตันน้อยที่สุด ระยะทางแมนฮัตตันระหว่างจุด p1 และ p2 คือ |p1.x - p2.x| + |p1.y - p2.y| ตัวอย่าง: workers = [[0,0],

  15. โปรแกรมหาผลรวมสูงสุดจากการพลิกบิตแถวในเมทริกซ์ไบนารี Python

    สมมติว่าเรามีเมทริกซ์ไบนารี 2 มิติ เราสามารถพลิกบิตทั้งแถวหรือคอลัมน์ได้ทุกจำนวนครั้ง หากนำแต่ละแถวมาแปลงเป็นเลขฐานสอง เราต้องหาผลรวมสูงสุดที่ทำได้ ตัวอย่าง: อินพุตคือ 010 001 ผลลัพธ์คือ 11 เพราะหากพลิกทั้งสองแถว จะได้ 101 (5) และ 110 (6) ผลรวม = 11 ขั้นตอนการแก้ปัญหา วนลูปแต่ละ

  16. โปรแกรมหาจำนวนกลุ่มเพื่อนจากข้อมูลการเชื่อมต่อเพื่อนใน Python

    สมมติว่าเรามีรายชื่อเพื่อน โดยที่ friends[i] คือรายชื่อคนที่ i เป็นเพื่อนกับเขา การเชื่อมต่อเป็นแบบสองทาง และแต่ละคนถือว่าเป็นเพื่อนกับตัวเอง สองคนอยู่ในกลุ่มเพื่อนเดียวกันหากมีเส้นทางของเพื่อนร่วมกันเชื่อมต่อระหว่างกัน เราต้องหาจำนวนกลุ่มเพื่อนทั้งหมด ตัวอย่างเช่น หากอินพุตคือ friends = [[0, 1, 5]

  17. โปรแกรมหาขั้นตอนน้อยสุดไปถึง index สุดท้ายใน Python

    สมมติว่ามีรายการ nums เริ่มที่ index 0 แต่ละขั้นเดินได้ i+1, i-1, หรือ j ที่ nums[i] == nums[j] ต้องการขั้นตอนน้อยสุดไป index สุดท้าย ตัวอย่าง: nums = [4,8,8,5,4,6,5] ผลลัพธ์ 3: 0→4 (ค่า 4), 4→3 (ค่า 5), 3→6 (ค่า 5) ขั้นตอนการแก้ปัญหา สร้าง map pos เก็บ index ของแต่ละค่า BFS: q = deque([(0,0)

  18. โปรแกรมหา intervals ที่ไม่ทับกับ cut interval ใน Python

    สมมติว่ามี intervals เรียงแล้วไม่ทับซ้อน และ cut interval ต้องการลบส่วนที่ทับกับ cut ออก คืน intervals ที่เหลือ ตัวอย่าง: intervals = [[2,11],[13,31],[41,61]], cut = [8,46] ผลลัพธ์ [[2,8],[46,61]] ขั้นตอนการแก้ปัญหา cut_start, cut_end = cut, ans = [] วน start, end ใน intervals: ถ้า

  19. โปรแกรมหาเวลาทั้งหมดที่ไม่ซ้ำจากรายการ intervals ใน Python

    สมมติว่ามีรายการ intervals แบบ [start, end] (inclusive) ต้องการหาเวลาทั้งหมดที่ครอบคลุม (union duration) ตัวอย่าง: intervals = [[2,11],[13,31],[41,61]] ผลลัพธ์ 50: (11-2+1)=10, (31-13+1)=19, (61-41+1)=21 ขั้นตอนการแก้ปัญหา ถ้าว่าง คืน 0 เรียง intervals start, end = intervals[0], ans = 0 ว

  20. โปรแกรมหา overlapping intervals ของสองชุดใน Python

    สมมติว่ามี 2 ชุด intervals ที่แต่ละชุดไม่ทับซ้อนในตัวเองและเรียงแล้ว ต้องการหา intersection ของทั้งสองชุด เรียงลำดับ ตัวอย่าง: inv1 = [[50,100],[190,270],[310,330]], inv2 = [[40,120],[180,190]] ผลลัพธ์ [[50,100],[190,190]] ขั้นตอนการแก้ปัญหา ans = [], i = 0, j = 0 วนลูป بينما i < len(A) and j

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:189/451  20-คอมพิวเตอร์/Page Goto:1 183 184 185 186 187 188 189 190 191 192 193 194 195