เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 1 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 0000000 0001001 0111110 0000000 0000100 0000000 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 1 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนเซตของ tuples (i,j) ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่ไม่มี 1 อยู่ใน คอลัมน์เดียวกันของสองแถวนั้น เช่น ตาราง 010 101 011 000 แทนด้วย x = { 'shape': (4,3), 'data' : {0:[1], 1:[0,2], 2:[1,2]} } คำสั่ง f(x) จะคืน {(0,1), (0,3), (1,3), (2,3)} def f(x): out = set() R = x['shape'][0] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si & sj) == 0: out.add((i,j)) return out ---------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 1 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 0000000 0001001 0111110 0000000 0000100 0000000 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 1 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนเซตของ tuples (i,j) ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่มี 1 อยู่ใน คอลัมน์เดียวกันอย่างหนึ่งคอลัมน์ของสองแถวนั้น เช่น ตาราง 010 101 011 000 แทนด้วย x = { 'shape': (4,3), 'data' : {0:[1], 1:[0,2], 2:[1,2]} } คำสั่ง f(x) จะคืน {(0, 2), (1, 2)} def f(x): out = set() R = x['shape'][0] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si & sj) > 0: out.add((i,j)) return out ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 1 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 0000000 0001001 0111110 0000000 0000100 0000000 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 1 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืน tuple (i,j) ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่เมื่อรวมพิจารณา ทั้งสองแถวจะมีจำนวน 1 มากสุด - ถ้ามี 1 ที่คอลัมน์เดียวกันทั้งสองแถว ให้คิดตัวเดียวในคอลัมน์นั้น - ถ้ามีมากสุดหลายคู่แถว ก็คืนสัก 1 คู่ เช่น ตาราง 01000 10010 01100 00000 แทนด้วย x = { 'shape': (4,5), 'data' : {0:[1], 1:[0,3], 2:[1,2]} } คำสั่ง f(x) จะคืน (1, 2) def f(x): R = x['shape'][0] d = x['data'] a = [] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) a.append((len(si | sj), (i,j))) return max(a)[1] ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 1 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 0000000 0001001 0111110 0000000 0000100 0000000 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 1 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืน tuple (i,j) ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่มี 1 อยู่ในคอลัมน์ ที่ไม่เหมือนกัน (คือ ถ้ามีในแถวหนึ่งจะไม่มีในอีกแถว) เป็นจำนวนมากสุด ถ้ามีมากสุดหลายคู่แถว ก็คืนสัก 1 คู่ เช่น ตาราง 01000 10110 01100 00000 แทนด้วย x = { 'shape': (4,5), 'data' : {0:[1], 1:[0,2,3], 2:[1,2]} } คำสั่ง f(x) จะคืน (0, 1) def f(x): R = x['shape'][0] d = x['data'] a = [] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) a.append((len(si | sj)-len(si&sj), (i,j))) return max(a)[1] ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 1 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 0000000 0001001 0111110 0000000 0000100 0000000 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 1 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนเซตของ tuples (i,j) ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่เมื่อพิจารณารวมกัน จะมี 1 อยู่ครบทุกคอลัมน์ เช่น ตาราง 0100 1001 0110 1011 แทนด้วย x = { 'shape': (4,4), 'data' : {0:[1], 1:[0,3], 2:[1,2], 3:[0,2,3]} } คำสั่ง f(x) จะคืน {(0, 3), (1, 2), (2, 3)} def f(x): out = set() R,C = x['shape'] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si | sj) == C: out.add((i,j)) return out ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 0 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 1111111 1110110 1000001 1111111 1111011 1111111 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 0 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนลิสต์ของลิสต์ [i,j] ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่ไม่มี 0 อยู่ใน คอลัมน์เดียวกันของสองแถวนั้น - ลำดับของข้อมูลในลิสต์ผลลัพธ์จะเป็นอย่างไรก็ได้ เช่น ตาราง 101 010 100 111 แทนด้วย x = { 'shape': (4,3), 'data' : {0:[1], 1:[0,2], 2:[1,2]} } คำสั่ง f(x) จะคืน [[0,1], [0,3], [1,3], [2,3]] def f(x): out = list() R = x['shape'][0] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si & sj) == 0: out.append([i,j]) return out ---------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 0 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 1111111 1110110 1000001 1111111 1111011 1111111 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 0 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนลิสต์ของลิสต์ [i,j] ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่มี 0 อยู่ใน คอลัมน์เดียวกันอย่างหนึ่งคอลัมน์ของสองแถวนั้น - ลำดับของข้อมูลในลิสต์ผลลัพธ์จะเป็นอย่างไรก็ได้ เช่น ตาราง 101 010 100 111 แทนด้วย x = { 'shape': (4,3), 'data' : {0:[1], 1:[0,2], 2:[1,2]} } คำสั่ง f(x) จะคืน [[0, 2], [1, 2]] def f(x): out = list() R = x['shape'][0] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si & sj) > 0: out.append([i,j]) return out ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 0 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 1111111 1110110 1000001 1111111 1111011 1111111 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 0 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืน ลิสต์ [i,j] ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่เมื่อรวมพิจารณา ทั้งสองแถวจะมีจำนวน 0 มากสุด - ถ้ามี 0 ที่คอลัมน์เดียวกันทั้งสองแถว ให้คิดตัวเดียวในคอลัมน์นั้น - ถ้ามีมากสุดหลายคู่แถว ก็คืนสัก 1 คู่ เช่น ตาราง 10111 01101 10011 11111 แทนด้วย x = { 'shape': (4,5), 'data' : {0:[1], 1:[0,3], 2:[1,2]} } คำสั่ง f(x) จะคืน [1, 2] def f(x): R = x['shape'][0] d = x['data'] a = [] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) a.append((len(si | sj), [i,j])) return max(a)[1] ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 0 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 1111111 1110110 1000001 1111111 1111011 1111111 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 0 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืน ลิสต์ [i,j] ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่มี 0 อยู่ในคอลัมน์ ที่ไม่เหมือนกัน (คือ ถ้ามีในแถวหนึ่งจะไม่มีในอีกแถว) เป็นจำนวนมากสุด ถ้ามีมากสุดหลายคู่แถว ก็คืนสัก 1 คู่ เช่น ตาราง 10111 01001 10011 11111 แทนด้วย x = { 'shape': (4,5), 'data' : {0:[1], 1:[0,2,3], 2:[1,2]} } คำสั่ง f(x) จะคืน [0, 1] def f(x): R = x['shape'][0] d = x['data'] a = [] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) a.append((len(si | sj)-len(si&sj), [i,j])) return max(a)[1] ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 0 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 1111111 1110110 1000001 1111111 1111011 1111111 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 0 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนลิสต์ของลิสต์ [i,j] ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่เมื่อพิจารณารวมกัน จะมี 0 อยู่ครบทุกคอลัมน์ - ลำดับของข้อมูลในลิสต์ผลลัพธ์จะเป็นอย่างไรก็ได้ เช่น ตาราง 1011 0110 1001 0100 แทนด้วย x = { 'shape': (4,4), 'data' : {0:[1], 1:[0,3], 2:[1,2], 3:[0,2,3]} } คำสั่ง f(x) จะคืน [[0, 3], [1, 2], [2, 3]] def f(x): out = list() R,C = x['shape'] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si | sj) == C: out.append([i,j]) return out ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 0 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 1111111 1110110 1000001 1111111 1111011 1111111 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 0 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนลิสต์ของ tuple (i,j) ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่ไม่มี 0 อยู่ใน คอลัมน์เดียวกันของสองแถวนั้น - ลำดับของข้อมูลในลิสต์ผลลัพธ์จะเป็นอย่างไรก็ได้ เช่น ตาราง 101 010 100 111 แทนด้วย x = { 'shape': (4,3), 'data' : {0:[1], 1:[0,2], 2:[1,2]} } คำสั่ง f(x) จะคืน [(0,1), (0,3), (1,3), (2,3)] def f(x): out = list() R = x['shape'][0] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si & sj) == 0: out.append((i,j)) return out ---------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 0 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 1111111 1110110 1000001 1111111 1111011 1111111 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 0 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนลิสต์ของ tuple (i,j) ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่มี 0 อยู่ใน คอลัมน์เดียวกันอย่างหนึ่งคอลัมน์ของสองแถวนั้น - ลำดับของข้อมูลในลิสต์ผลลัพธ์จะเป็นอย่างไรก็ได้ เช่น ตาราง 101 010 100 111 แทนด้วย x = { 'shape': (4,3), 'data' : {0:[1], 1:[0,2], 2:[1,2]} } คำสั่ง f(x) จะคืน [(0, 2), (1, 2)] def f(x): out = list() R = x['shape'][0] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si & sj) > 0: out.append((i,j)) return out ------------------------------- เราสามารถจัดเก็บตารางที่มีแต่เลข 0 กับ 1 ด้วย dict ที่มี - key 'shape' ที่มี value เป็น tuple 2 ช่องเก็บจำนวนแถวและจำนวนคอลัมน์ - key 'data' ที่มี value เป็น dict ที่มี - key เป็นเลขแถว - value เป็นลิสต์เก็บเลขคอลัมน์ในแถวนั้นที่มีข้อมูลเป็น 0 - คำว่าเลขแถวเลขคอลัมน์ คืออินเด็กซ์ของแถวและคอลัมน์ เช่น ตาราง 1111111 1110110 1000001 1111111 1111011 1111111 เก็บด้วย dict { 'shape': (6,7), 'data': { 0: [], 1: [3,6], 2: [3,1,2,4,5], 4: [4] } } ให้สังเกตว่า แถว 0, 3 และ 5 ไม่มีเลข 0 เลย อาจมีหรือไม่มีเลขแถวใน dict ก็ได้ จงเขียนฟังก์ชัน f(x) - รับ x เป็น dict ที่แทนตารางในลักษณะข้างต้น - คืนลิสต์ของ tuple (i,j) ต่าง ๆ ที่ - i น้อยกว่า j - i กับ j เป็นเลขแถวของคู่แถวที่เมื่อพิจารณารวมกัน จะมี 0 อยู่ครบทุกคอลัมน์ - ลำดับของข้อมูลในลิสต์ผลลัพธ์จะเป็นอย่างไรก็ได้ เช่น ตาราง 1011 0110 1001 0100 แทนด้วย x = { 'shape': (4,4), 'data' : {0:[1], 1:[0,3], 2:[1,2], 3:[0,2,3]} } คำสั่ง f(x) จะคืน [(0, 3), (1, 2), (2, 3)] def f(x): out = list() R,C = x['shape'] d = x['data'] for i in range(R): for j in range(i+1, R): si = sj = set() if i in d: si = set(d[i]) if j in d: sj = set(d[j]) if len(si | sj) == C: out.append((i,j)) return out -------------------------------