Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - กรองแม้แต่ค่าจากรายการ


ส่วนหนึ่งของการวิเคราะห์ข้อมูลจำเป็นต้องกรองค่าออกจากรายการที่ตรงตามเกณฑ์ที่กำหนด ในบทความนี้ เราจะมาดูวิธีการกรองเฉพาะค่าคู่จากรายการ

เราต้องผ่านแต่ละองค์ประกอบของรายการแล้วหารด้วย 2 เพื่อตรวจสอบส่วนที่เหลือ หากเศษเหลือเป็นศูนย์ เราจะถือว่ามันเป็นเลขคู่ หลังจากดึงเลขคู่เหล่านี้จากรายการ เราจะใส่เงื่อนไขเพื่อสร้างรายการใหม่ซึ่งไม่รวมเลขคู่นี้ รายการใหม่นั้นเป็นผลมาจากเงื่อนไขการกรองที่เราใช้

ใช้สำหรับวนซ้ำ

นี่เป็นวิธีที่ง่ายที่สุดในการอ่านองค์ประกอบของรายการและตรวจสอบการหารด้วย 2 โค้ดด้านล่างประกอบด้วย for loop ซึ่งอ่านองค์ประกอบและตรวจสอบการหารด้วย 2 จากนั้นจึงผนวกองค์ประกอบที่ถูกต้องเข้ากับรายการว่าง ซึ่งจะเป็น ผลลัพธ์ของเงื่อนไขการกรอง

ตัวอย่าง

list_A = [33, 35, 36, 39, 40, 42]

res = []

for n in list_A:
   if n % 2 == 0:
      res.append(n)
print(res)

ผลลัพธ์

การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:

[36, 40, 42]

การใช้งานขณะวนซ้ำ

เมื่อเรามีรายการความยาวที่ไม่รู้จัก เราสามารถใช้ while loop และฟังก์ชัน len() เพื่อให้ได้สิ่งเดียวกันกับที่อยู่ในโปรแกรมด้านบน

ตัวอย่าง

list_A = [33, 35, 36, 39, 40, 42]

res = []
n = 0

while (n < len(list_A)):
   if list_A[n] % 2 == 0:
      res.append(list_A[n])
   n += 1
print(res)

ผลลัพธ์

การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:

[36, 40, 42]

การใช้ filter()

เรายังสามารถใช้แลมบ์ดาและฟังก์ชันตัวกรองร่วมกันได้ รายการที่เลือกโดยฟังก์ชันแลมบ์ดาสามารถกรองออกจากรายการเดิมได้โดยใช้ฟังก์ชันตัวกรอง

ตัวอย่าง

list_A = [33, 35, 36, 39, 40, 42]

res = []

x = lambda m: m % 2 == 0
res = list(filter(x, list_A))

print(res)

ผลลัพธ์

การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:

[36, 40, 42]