กรองรายการสตริงโดยใช้รายการอื่น
ตัวอย่างนี้แสดงให้เห็นว่าข้อมูลในรายการสตริงสามารถกรองได้อย่างไรโดยไม่ต้องใช้วิธีการใดๆ รายการสตริงถูกกรองที่นี่โดยใช้รายการอื่น ในที่นี้ มีการประกาศตัวแปรรายการสองรายการด้วยชื่อ รายการ1 และ รายการ2 . ค่าของ รายการ2 ถูกกรองโดยใช้ค่าของ รายการ1 . สคริปต์จะจับคู่คำแรกของแต่ละค่าของ รายการ2 ด้วยค่าของ รายการ1 และพิมพ์ค่าเหล่านั้นที่ไม่มีอยู่ใน รายการ1 .
# ประกาศสองตัวแปรรายการ
รายการ1= ['เพิร์ล', 'PHP', 'จาวา', 'งูเห่า']
รายการ2= ['JavaScript เป็นภาษาสคริปต์ฝั่งไคลเอ็นต์',
'PHP เป็นภาษาสคริปต์ฝั่งเซิร์ฟเวอร์',
'Java เป็นภาษาโปรแกรม',
'Bash เป็นภาษาสคริปต์']
# กรองรายการที่สองตามรายการแรก
filter_data= [NSสำหรับNSในรายการ2ถ้า
ทั้งหมด(และไม่ ในNSสำหรับและในรายการ1)]
# พิมพ์ข้อมูลรายการก่อนตัวกรองและหลังตัวกรอง
พิมพ์('เนื้อหาของรายการแรก:',รายการ1)
พิมพ์('เนื้อหาของรายการที่สอง:',รายการ2)
พิมพ์('เนื้อหาของรายการที่สองหลังจากตัวกรอง:',filter_data)
เอาท์พุท:
เรียกใช้สคริปต์ ที่นี่, รายการ1 ไม่มีคำว่า' ทุบตี ’ ผลลัพธ์จะมีเพียงหนึ่งค่าจาก รายการ2 นั่นคือ ' Bash เป็นภาษาสคริปต์ ' .
กรองรายการสตริงโดยใช้รายการอื่นและฟังก์ชันที่กำหนดเอง
ตัวอย่างนี้แสดงวิธีการกรองรายการสตริงโดยใช้รายการอื่นและฟังก์ชันตัวกรองแบบกำหนดเอง สคริปต์ประกอบด้วยสองตัวแปรรายการชื่อ list1 และ list2 ฟังก์ชันตัวกรองแบบกำหนดเองจะค้นหาค่าทั่วไปของตัวแปรรายการทั้งสอง
# ประกาศสองตัวแปรรายการรายการ1= ['90', '67', '3. 4', '55', '12', '87', '32']
รายการ2= ['9', '90', '38', 'สี่ห้า', '12', 'ยี่สิบ']
# ประกาศฟังก์ชั่นการกรองข้อมูลจากรายการแรก
defกรอง(รายการ1,รายการ2):
กลับ [NSสำหรับNSในรายการ1ถ้า
ใด ๆ(NSในNSสำหรับNSในรายการ2)]
# พิมพ์ข้อมูลรายการก่อนตัวกรองและหลังตัวกรอง
พิมพ์('เนื้อหาของ list1:',รายการ1)
พิมพ์('เนื้อหาของ list2:',รายการ2)
พิมพ์('ข้อมูลหลังตัวกรอง',กรอง(รายการ1,รายการ2))
เอาท์พุท:
เรียกใช้สคริปต์ ค่า 90 และ 12 อยู่ในตัวแปรรายการทั้งสอง เอาต์พุตต่อไปนี้จะถูกสร้างขึ้นหลังจากรันสคริปต์
กรองรายการสตริงโดยใช้นิพจน์ทั่วไป
รายการถูกกรองโดยใช้ ทั้งหมด() และ ใด ๆ() วิธีการในสองตัวอย่างก่อนหน้า นิพจน์ทั่วไปถูกใช้ในตัวอย่างนี้เพื่อกรองข้อมูลจากรายการ นิพจน์ทั่วไปเป็นรูปแบบที่สามารถค้นหาหรือจับคู่ข้อมูลใดๆ ได้ 'NS' โมดูลถูกใช้ในไพ ธ อนเพื่อใช้นิพจน์ทั่วไปในสคริปต์ ที่นี่ รายการถูกประกาศด้วยรหัสหัวเรื่อง นิพจน์ทั่วไปใช้เพื่อกรองรหัสหัวเรื่องเหล่านั้นที่ขึ้นต้นด้วยคำว่า ' CSE '. ' ^ ' สัญลักษณ์ถูกใช้ในรูปแบบนิพจน์ทั่วไปเพื่อค้นหาที่จุดเริ่มต้นของข้อความ
# นำเข้าโมดูลใหม่เพื่อใช้นิพจน์ปกตินำเข้า NS
#ประกาศรายชื่อมีรหัสหัวเรื่อง
รายการย่อย= ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'แมท-202']
# ประกาศฟังก์ชั่นตัวกรอง
defกรอง(รายการข้อมูล):
# ค้นหาข้อมูลตามนิพจน์ทั่วไปในรายการ
กลับ [ชั่วโมงสำหรับชั่วโมงในรายการข้อมูล
ถ้า NS.ค้นหา(NS'^ ซีเอสอี',ชั่วโมง)]
# พิมพ์ข้อมูลตัวกรอง
พิมพ์(กรอง(รายการย่อย))
เอาท์พุท:
เรียกใช้สคริปต์ รายการย่อย ตัวแปรประกอบด้วยสองค่าที่ขึ้นต้นด้วย ' CSE ’ ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
กรองรายการสตริงโดยใช้นิพจน์แลมด้า
ตัวอย่างนี้แสดงการใช้ แลมดา นิพจน์เพื่อกรองข้อมูลจากรายการสตริง ที่นี่รายการตัวแปรชื่อ search_word ใช้เพื่อกรองเนื้อหาจากตัวแปรข้อความที่ชื่อว่า ข้อความ . เนื้อหาของข้อความจะถูกแปลงเป็นรายการชื่อ text_word ขึ้นอยู่กับพื้นที่โดยใช้ แยก() กระบวนการ. แลมดา นิพจน์จะละค่าเหล่านั้นออกจาก text_word ที่มีอยู่ใน search_word และเก็บค่าที่กรองไว้ในตัวแปรโดยเพิ่มช่องว่าง
#ประกาศรายชื่อที่มีคำค้นหาsearch_word= ['สั่งสอน', 'รหัส', 'การเขียนโปรแกรม', 'บล็อก']
# กำหนดข้อความที่จะค้นหาคำจากรายการ
ข้อความ= 'เรียนรู้การเขียนโปรแกรม Python จากบล็อกคำแนะนำ Linux'
# แบ่งข้อความตามพื้นที่และเก็บคำในรายการ
text_word=ข้อความ.แยก()
# การใช้แลมบ์ดานิพจน์กรองข้อมูล
filter_text= ''.เข้าร่วม((กรอง(แลมบ์ดาวาล: วาลไม่ผม
n search_word,text_word)))
# พิมพ์ข้อความก่อนกรองและหลังกรอง
พิมพ์('NSข้อความก่อนกรอง:NS',ข้อความ)
พิมพ์('ข้อความหลังจากกรอง:NS',filter_text)
เอาท์พุท:
เรียกใช้สคริปต์ ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
กรองรายการสตริงโดยใช้ filter() method
กรอง() วิธียอมรับสองพารามิเตอร์ พารามิเตอร์แรกใช้ชื่อฟังก์ชันหรือ ไม่มี และพารามิเตอร์ที่สองใช้ชื่อของตัวแปรรายการเป็นค่า กรอง() เมธอดจะเก็บข้อมูลเหล่านั้นจากรายการหากคืนค่าเป็นจริง มิฉะนั้น จะละทิ้งข้อมูล ที่นี่, ไม่มี ถูกกำหนดเป็นค่าพารามิเตอร์แรก ค่าทั้งหมดโดยไม่ต้อง เท็จ จะถูกดึงออกจากรายการเป็นข้อมูลที่กรอง
#ประกาศรายชื่อมิกซ์ดาต้ารายการข้อมูล= ['สวัสดี', 200, 1, 'โลก', เท็จ, จริง, '0']
# Call filter() วิธีการที่ไม่มีและรายการ
กรองข้อมูล= กรอง(ไม่มี,รายการข้อมูล)
# พิมพ์รายการหลังจากกรองข้อมูล
พิมพ์('รายการหลังจากกรอง:')
สำหรับชั่วโมงในกรองข้อมูล:
พิมพ์(ชั่วโมง)
เอาท์พุท:
เรียกใช้สคริปต์ รายการมีค่าเท็จเพียงค่าเดียวที่จะละเว้นในข้อมูลที่กรอง ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
บทสรุป:
การกรองมีประโยชน์เมื่อคุณต้องการค้นหาและเรียกค่าเฉพาะจากรายการ ฉันหวังว่าตัวอย่างข้างต้นจะช่วยให้ผู้อ่านเข้าใจวิธีการกรองข้อมูลจากรายการสตริง