Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. หา Index ของค่า None ในลิสต์ Python

    ค้นหาตำแหน่งของ None ในลิสต์ ลิสต์อาจมีค่า None ต้องการหา Index ทั้งหมดที่มีค่า None วิธีที่ 1: ใช้ range + len lst = [Sun,Mon,None,Wed,None,None] indices = [i for i in range(len(lst)) if lst[i] is None] print(indices) # [2,4,5] วิธีที่ 2: ใช้ enumerate indices = [i for i, val in enumerate(lst

  2. หา K คำที่ยาวที่สุดในลิสต์ Python

    Top K Longest Words ในลิสต์ กำหนดลิสต์คำ และจำนวน K หา K คำที่ยาวที่สุด (ถ้ายาวเท่ากัน เรียงตามลำดับเดิม) วิธีที่ 1: ใช้ sorted() กับ key=len และ itertools.count() from itertools import count def top_k_longest(words, k): c = count() return sorted(words, key=lambda w: (len(w), next(c)), rev

  3. หา Key ที่มี Value ซ้ำกันใน Dictionary Python

    ค้นหา Keys ที่มีค่า Value ซ้ำกันใน Dictionary Dictionary มี Key ไม่ซ้ำ แต่ Value อาจซ้ำ ต้องการหา Keys ที่มี Value เหมือนกัน วิธีที่ 1: สลับ Key-Value แล้ว Group d = {Sun:5, Mon:3, Tue:5, Wed:3} rev = {} for k, v in d.items(): rev.setdefault(v, []).append(k) print(rev) # {5:[Sun,Tue], 3:[Mon,

  4. หา Substring ต่อเนื่องของตัวอักษรและตัวเลขที่ยาวที่สุดใน Python

    Longest Consecutive Letter/Digit Substring กำหนดสตริงผสมตัวอักษรและตัวเลข หา Substring ต่อเนื่องที่เป็นตัวอักษรยาวที่สุด และตัวเลขยาวที่สุด วิธีที่ 1: ใช้ Regular Expression (re) import re def long_substring(s): letters = max(re.findall(r\D+, s), key=len) digits = max(re.findall(r\d+, s),

  5. หาคู่ตัวเลขที่มีความต่างมากที่สุดในลิสต์ Python

    หาคู่ที่มีความต่างสัมบูรณ์มากที่สุด กำหนดลิสต์ตัวเลข หาคู่ (a,b) ที่ทำให้ |a-b| มากที่สุด วิธีที่ 1: ใช้ heapq.nlargest กับ combinations from itertools import combinations from heapq import nlargest lst = [21,14,30,11,17,18] pairs = nlargest(2, combinations(lst,2), key=lambda p: abs(p[0]-p[1])) p

  6. หาค่าเฉลี่ย (Mean) ของลิสต์ Numpy Array ใน Python

    คำนวณ Mean ของแต่ละ Array ในลิสต์ NumPy Arrays กำหนดลิสต์ของ NumPy 1D Arrays หา Mean ของแต่ละ Array วิธีที่ 1: ใช้ np.mean() import numpy as np arrays = [np.array([11,5,41]), np.array([12,13,26]), np.array([56,20,51])] means = [np.mean(arr) for arr in arrays] print(means) # [19.0, 17.0, 42.333...

  7. หาค่า Min และ Max ใน Heterogeneous List (ผสม String/Number) ใน Python

    หาค่าต่ำสุดและสูงสุดของตัวเลขในลิสต์ผสมชนิดข้อมูล ลิสต์มีทั้ง String และ Number ต้องการหา Min/Max ของตัวเลขอย่างเดียว หา Minimum: ใช้ isinstance กับ min() lst = [12,Sun,39,5,Wed,Thus] min_val = min(x for x in lst if isinstance(x, int)) print(min_val) # 5 หา Maximum: ใช้ max() กับ key=lambda ma

  8. หาตำแหน่งที่ค่าต่างกันในสองลิสต์ (Same Index) ใน Python

    หา Index ที่ค่าในสองลิสต์ต่างกัน (ตำแหน่งเดียวกัน) กำหนดสองลิสต์ความยาวเท่ากัน หา Index ที่ค่าต่างกัน วิธีที่ 1: ใช้ for loop + index A = [13,Mon,23,62,Sun] B = [5,Mon,23,6,Sun] res = [] for i, val in enumerate(A): if val != B[i]: res.append(i) print(res) # [0, 3] วิธีที่ 2: ใช้ zip

  9. หาตัวเลขที่หายไปในลิสต์ (รวม 0) ใน Python

    หาตัวเลขที่ขาดหายจาก 0 ถึงค่าสูงสุดของลิสต์ กำหนดลิสต์ตัวเลข หาตัวเลขที่ไม่ปรากฏในช่วง [0, max(list)] วิธีที่ 1: ใช้ range และ max lst = [1,5,6,7,11,14] missing = [x for x in range(max(lst)+1) if x not in lst] print(missing) # [0,2,3,4,8,9,10,12,13] วิธีที่ 2: ใช้ Set Difference lst = [1,5,6,7

  10. หาตัวเลขที่หายไปในช่วงของลิสต์ที่เรียงแล้วใน Python

    หาตัวเลขที่ขาดหายในช่วงของ Sorted List กำหนดลิสต์ตัวเลขเรียงจากน้อยไปมาก หาตัวเลขที่ขาดหายในช่วงจากค่าน้อยสุดถึงค่ามากสุด วิธีที่ 1: ใช้ range และ list comprehension lst = [1,5,6,7,11,14] missing = [x for x in range(lst[0], lst[-1]+1) if x not in lst] print(missing) # [2,3,4,8,9,10,12,13] วิธีท

  11. นับจำนวนลิสต์ภายใน Tuple ใน Python

    นับจำนวน List ที่เป็น Element ของ Tuple Tuple ใน Python สามารถมี List เป็นสมาชิกได้ ต้องการนับจำนวน List ภายใน Tuple วิธีที่ 1: ใช้ len() โดยตรง ถ้า Tuple ประกอบด้วย List เท่านั้น len(tuple) ให้จำนวน List ทันที tupA = ([a,b,x], [21,19]) tupB = ([n,m], [z,y,x], [3,7,89]) print(len(tupA)) # 2 print

  12. หาตัวเลขน้อยที่สุดที่มากกว่า K ในลิสต์ Python

    หาค่าน้อยที่สุดในลิสต์ที่มากกว่า K K และน้อยที่สุด (Next Greater Element) วิธีที่ 1: ใช้ min() กับ Generator k) print(res) # 11 วิธีที่ 2: ใช้ filter() และ lambda k, lst)) print(res) # 11 วิธีที่ 3: ใช้ bisect_right (ต้องเรียงลำดับก่อน) from bisect import bisect_right lst = [1,5,6,7,11,14

  13. วิธีใช้คำสั่ง Help ของ PowerShell

    การใช้งาน Get-Help ใน PowerShell คำสั่ง Get-Help (อีเลียส help) ใช้แสดงคำอธิบายการใช้งานของ Cmdlet ต่างๆ รูปแบบพื้นฐาน help Get-Service แสดง: NAME, SYNOPSIS, SYNTAX, DESCRIPTION, RELATED LINKS, REMARKS พารามิเตอร์สำคัญ -Full: แสดงรายละเอียดครบ พร้อมตัวอย่าง -Detailed: แสดงรายละเอียดพารามิเตอร

  14. หาเวลาน้อยที่สุดที่สามารถแลกเปลี่ยนธนบัตรได้จากหลาย Cashier ใน Python

    Minimum Time to Exchange Notes at Cashiers มี Cashier n คน คนที่ i มีคิว k[i] คน คนที่ j ในคิว i มีธนบัตร m[i][j] ใบ การสแกน 1 ใบใช้ 5 วินาที หลังสแกนครบคนหนึ่ง ใช้ 15 วินาทีในการแลกเงิน หาเวลาน้อยที่สุดที่จะได้แลกเงิน (เลือกคิวที่เร็วที่สุด) การคำนวณ เวลาของ Cashier i = 15 * k[i] + 5 * Σ m[i][j] เ

  15. หาค่าที่หายไปจากสมการ a + b = c ใน Python

    หาตัวเลขที่หายไปในสมการ a + b = c กำหนดสมการ a + b = c ที่ตัวเลขหนึ่งตัวหายไป (แทนด้วย ?) หาค่าที่หายไป ตัวอย่าง: ? + 4 = 9 → 5, 6 + 8 = ? → 14 วิธีแก้ง่ายๆ ลบช่องว่าง และแทน + และ = ด้วยคอมมา Split ด้วยคอมมาได้ 3 ส่วน หาตำแหน่งที่ไม่ใช่ตัวเลข (คือ ?) คำนวณย้อนกลับ: หายตัวสุดท้า

  16. หาจำนวนศูนย์ติดต่อกันท้ายสุดหลังคูณ n ตัวเลขใน Python

    Trailing Zeros ของผลคูณ n ตัวเลข กำหนดอาร์เรย์ n ตัวเลข หาจำนวนศูนย์ติดต่อกันท้ายสุดของผลคูณทั้งหมด (Trailing Zeros) หลักการ: ศูนย์ท้ายสุดมาจากคู่ตัวประกอบ 2 × 5 จำนวนศูนย์ = min(จำนวนตัวประกอบ 2, จำนวนตัวประกอบ 5) ในผลคูณ วิธีแก้ สำหรับแต่ละตัวเลข นับจำนวนตัวประกอบ 2 และ 5 (หารซ้ำจนไม่ลงตัว)

  17. นับจำนวนเกาะที่แตกต่างกันในเมทริกซ์ 2D ใน Python

    Number of Islands (DFS/BFS) กำหนด Binary Matrix หาจำนวน เกาะ (Island) ที่เป็นกลุ่ม 1 ติดกันแนวนอน/แนวตั้ง (ไม่ใช่แนวทแยง) รอบนอกถือเป็นน้ำ (0) อัลกอริทึม DFS (Flood Fill) วนทุกเซลล์ หากเจอ 1 เพิ่มจำนวนเกาะ และเรียก DFS/BFS ทำให้เซลล์นั้นและเพื่อนบนที่เป็น 1 กลายเป็น 0 (ทำให้เป็นน้ำ) DFS 4 ทิศท

  18. นับคู่โหนดใน Tree ที่มีระยะห่างเท่ากับ k ใน Python

    นับคู่โหนดระยะห่าง k ใน Tree กำหนด Tree n โหนด และจำนวนเต็ม k นับจำนวนคู่โหนด (u,v) ที่ระยะห่าง (จำนวนขอบบน Path) เท่ากับ k อย่างแน่นอน อัลกอริทึม Tree DP (DFS) dp[v][d] = จำนวนโหนดใน Subtree ของ v ที่ห่างจาก v เป็น d DFS Post-order: รวม dp จากลูกเข้ามาแม่ เมื่อประมวลผลลูก u ของ v:

  19. หาจำนวนสี่เหลี่ยม 2x1 ที่วางได้ในสี่เหลี่ยม n x m ใน Python

    จำนวน Domino 2x1 ที่วางได้ในกริด n x m วางสี่เหลี่ยม 2x1 (Domino) ให้มากที่สุดในกริด n x m โดยไม่ทับซ้อนและอยู่ภายในขอบเขตทั้งหมด สูตร: ถ้า n คู่: (n/2) * m ถ้า m คู่: (m/2) * n ถ้าทั้งคู่คี่: (n*m - 1) / 2 (เหลือ 1 ช่องว่าง) โค้ดตัวอย่าง Python def count_rect(n, m): if n % 2 == 0:

  20. หาจำนวนผู้ชมที่ยืนในสนามกีฬาที่เวลา t ใน Python

    Mexican Wave: จำนวนผู้ชมยืนที่เวลา t มีผู้ชม n คน หมายเลข 1..n กระบวนการ: เวลา 1..k: คนที่ i ยืน เวลา k+1..n: คนที่ i ยืน, คนที่ i-k นั่ง เวลา n+1..n+k: คนที่ i-n+k นั่ง หาจำนวนคนยืนที่เวลา t สูตรตรง (O(1)) if t <= k: return t elif t <= n: return k else: return k - (t

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:163/451  20-คอมพิวเตอร์/Page Goto:1 157 158 159 160 161 162 163 164 165 166 167 168 169