ในบทความนี้ เราจะเรียนรู้วิธีแก้ปัญหาตามข้อกำหนดด้านล่าง
ข้อกำหนดปัญหา − เราได้รับลิสต์ ต้องนับเลขคู่และคี่ในลิสต์
มี 3 วิธีตามที่อภิปรายด้านล่าง
วิธีที่ 1 − Brute-force approach
ตัวอย่าง
list1 = [21, 3, 4, 6, 33, 2, 3, 1, 3, 76]
even_count, odd_count = 0, 0
# enhanced for loop
for num in list1:
# even numbers
if num % 2 == 0:
even_count += 1
# odd numbers
else:
odd_count += 1
print("Even numbers available in the list:", even_count)
print("Odd numbers available in the list:", odd_count)
ผลลัพธ์
Even numbers available in the list: 4 Odd numbers available in the list: 6
วิธีที่ 2 − ใช้ filter() และ lambda expressions
ตัวอย่าง
list1 = [21, 3, 4, 6, 33, 2, 3, 1, 3, 76]
# odd numbers
odd_count = len(list(filter(lambda x: (x % 2 != 0), list1)))
# even numbers
even_count = len(list(filter(lambda x: (x % 2 == 0), list1)))
print("Even numbers available in the list:", even_count)
print("Odd numbers available in the list:", odd_count)
ผลลัพธ์
Even numbers available in the list: 4 Odd numbers available in the list: 6
วิธีที่ 3 − ใช้ List Comprehension
ตัวอย่าง
list1 = [21, 3, 4, 6, 33, 2, 3, 1, 3, 76]
# copy ลิสต์สมาชิกที่เป็นคู่ในลิสต์ใหม่และคำนวณความยาว
only_odd = [num for num in list1 if num % 2 == 1]
odd_count = len(only_odd)
print("Even numbers available in the list:", len(list1) - odd_count)
print("Odd numbers available in the list:", odd_count)
ผลลัพธ์
Even numbers available in the list: 4 Odd numbers available in the list: 6
สรุป
ในบทความนี้ เราได้เรียนรู้ 3 วิธีนับเลขคู่และคี่ในลิสต์: for loop, filter+lambda, list comprehension