บางครั้งต้องการสร้างลิสต์ที่มีเฉพาะค่า Boolean (True/False) มีหลายวิธีการทำ
วิธีที่ 1: ใช้ List Comprehension กับ range
res = [True for i in range(6)]
print("The list with boolean elements:\n", res)
ผลลัพธ์
The list with boolean elements: [True, True, True, True, True, True]
วิธีที่ 2: ใช้ * Operator (คูณลิสต์)
วิธีที่สั้นที่สุดและเร็วที่สุดสำหรับค่าซ้ำ
res = [False] * 6
print("The list with boolean elements:\n", res)
ผลลัพธ์
The list with boolean elements: [False, False, False, False, False, False]
วิธีที่ 3: ใช้ bytearray
bytearray(n) สร้างอาร์เรย์ไบต์ขนาด n ไบต์ ค่าเริ่มต้นเป็น 0 แปลงเป็นลิสต์ได้
res = list(bytearray(5))
print("The list with binary elements:\n", res)
ผลลัพธ์
The list with binary elements: [0, 0, 0, 0, 0]
หมายเหตุ: วิธีที่ 3 ให้ค่าเป็นตัวเลข 0/1 ไม่ใช่ True/False โดยตรง แต่ใน Python 0 ถือว่า False และ 1 ถือว่า True สามารถแปลงได้ด้วย list(map(bool, bytearray(5)))
การเลือกใช้: วิธีที่ 2 ([value] * n) เร็วที่สุดและอ่านง่ายที่สุดสำหรับค่าคงที่ วิธีที่ 1 เหมาะสำหรับกรณีต้องคำนวณค่าแต่ละตัว (เช่น สลับ True/False)