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

วิธีใช้ Python Any and All:คำแนะนำทีละขั้นตอน

งูหลาม any() และ all() ฟังก์ชัน จะประเมินรายการในรายการเพื่อดูว่ารายการใดเป็นความจริง any() วิธีการคืนค่า จริง ถ้ารายการใด ๆ เป็นจริง และ all() ฟังก์ชัน คืนค่า จริง หากรายการทั้งหมดเป็นจริง


บ่อยครั้งเมื่อคุณเขียนโปรแกรม คุณอาจต้องการตรวจสอบว่าค่าใดค่าหนึ่งหรือทั้งหมดในรายการประเมินเป็น True ตัวอย่างเช่น หากคุณกำลังสร้างโปรแกรมที่ติดตามประวัติการแข่งของนักแข่ง คุณอาจต้องการคำนวณว่านักแข่งคนนั้นแพ้การแข่งขันในฤดูกาลใดฤดูกาลหนึ่งหรือทั้งหมดหรือไม่

นั่นคือหน้าที่ของ Python ในตัว any() และ all() เข้ามาได้เลย any() วนซ้ำทุกรายการในวัตถุและส่งคืน True หากรายการใดมีค่าเท่ากับ True all() ผ่านทุกรายการในวัตถุและส่งคืนค่า True ต่อเมื่อทุกรายการในวัตถุมีค่าเท่ากับ True

บทแนะนำนี้จะกล่าวถึงวิธีการใช้ any() และ all() ใน Python และสำรวจตัวอย่างของแต่ละวิธีในโปรแกรม

Python อะไรก็ได้

Python any() เมธอดจะคำนวณว่าค่าใดๆ ในอ็อบเจกต์ที่ทำซ้ำได้ เช่น รายการ สตริง หรือทูเพิล เท่ากับ True และส่งกลับค่า True มิฉะนั้น any() คืนค่าเป็นเท็จ

any() method ยอมรับหนึ่งพารามิเตอร์:วัตถุที่มีค่าที่คุณต้องการค้นหา นี่คือไวยากรณ์สำหรับ any() วิธีการ:

any(iterable_object)

any() คืนค่า True ถ้าอย่างน้อยหนึ่งรายการใน iterable เป็น True

มิฉะนั้น any() จะคืนค่าเป็นเท็จหากองค์ประกอบทั้งหมดไม่เป็นความจริงหรือวัตถุที่ทำซ้ำได้นั้นว่างเปล่า

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

ใดๆ() กับอาร์เรย์

สมมติว่าเราทำงานให้กับบริษัท Data Science ที่กำลังวิเคราะห์คะแนนสำหรับนักแข่ง เราได้รับมอบหมายให้ค้นหาว่า John Appleseed เคยติดอันดับท็อป 10 ของการแข่งขัน Indianapolis 500 หรือไม่ เรามีรายชื่อผลงานของเขาในการแข่งขันที่เก็บ True ถ้าเขาอยู่ใน 10 อันดับแรกและเป็นเท็จถ้าเขาไม่ได้

หากต้องการทราบว่าเขาเคยอยู่ใน 10 อันดับแรกของการแข่งขัน Indy 500 หรือไม่ เราสามารถใช้รหัสต่อไปนี้:

race_wins_indy_500 = [False, False, True, False]

print(any(race_wins_indy_500))

รหัสของเราส่งคืน:True .

ในบรรทัดแรกของรหัสของเรา เรากำหนดรายการค่าที่จัดเก็บว่าเขาติดอันดับท็อป 10 ในแต่ละครั้งที่เขาเข้าสู่การแข่งขัน Indy 500 หรือไม่ จากนั้น เราใช้ any() วิธีการตรวจสอบว่ารายการใดในรายการเป็น True ในกรณีนี้ เขาได้ติดอันดับท็อป 10 ของการแข่งขัน Indy 500 หนึ่งครั้ง ดังนั้น any() วิธีการคืนค่า True.

อะไรก็ได้() กับพจนานุกรม

นอกจากนี้เรายังสามารถใช้ any() วิธีการในพจนานุกรม สมมติว่าเรามีบันทึกของ John Appleseed ที่เข้าร่วมการแข่งขัน Indy 500 รายบุคคล—การแข่งขันปี 2018—และเราต้องการดูว่าเขาติดอันดับท็อป 10 สำหรับการแข่งขันหรือไม่ เราสามารถทำได้โดยใช้รหัสนี้:

indy_500_2018_john = {
	'driver_name': 'John Appleseed',
	'race_year': 2018,
	'top_ten': True
}

print(any(indy_500_2018_john))

รหัสของเราส่งคืน:จริง เนื่องจากพจนานุกรมของเรามีค่า True ดังนั้น any() วิธีการคืนค่า True.

อะไรก็ได้() ที่มีสตริง

ในทำนองเดียวกัน any() สามารถใช้กับสตริงหรือทูเพิล ในกรณีของสตริง any() เมธอดจะคืนค่า True หากสตริงมีค่า ไม่เช่นนั้นจะคืนค่าเป็นเท็จ

สมมติว่าเราต้องการตรวจสอบว่าสตริงที่เก็บ 10 อันดับแรกของผู้เล่นสำหรับการแข่งขัน Indy 500 ล่าสุดมีค่าหรือไม่ เราสามารถใช้รหัสต่อไปนี้เพื่อทำงานนี้ให้สำเร็จ:

top_10_ranking = ""

print(any(top_10_ranking))

รหัสของเราส่งคืน:เท็จ เนื่องจาก John Appleseed ไม่ชนะการแข่งขัน Indy 500 ล่าสุด ตัวแปร top_10_ranking มันว่างเปล่า. เนื่องจากสตริงว่างเปล่า โปรแกรมของเราจึงประเมินเป็นเท็จ

Python ทั้งหมด

all() เป็นฟังก์ชัน Python ในตัวที่คืนค่า True เมื่อรายการทั้งหมดในอ็อบเจ็กต์ที่ iterable เป็น True และคืนค่า False มิฉะนั้น นอกจากนี้ หากวัตถุ iterable ว่างเปล่า all() เมธอดจะคืนค่าเป็น True

ไวยากรณ์สำหรับ all() วิธีการเหมือนกับ any() กระบวนการ. all() รับพารามิเตอร์ตัวเดียวซึ่งเป็นวัตถุที่ทำซ้ำได้ซึ่ง all() วิธีการควรค้นหา นี่คือไวยากรณ์สำหรับ all() วิธีการ:

all(iterable_object)

all() คืนค่า True เมื่อ:

  • ค่าทั้งหมดมีค่าเท่ากับ True
  • วัตถุ iterable ว่างเปล่า

มิฉะนั้น all() คืนค่าเป็นเท็จ

ทั้งหมด() พร้อมอาร์เรย์

มาดูตัวอย่างของวิธีการ all() สามารถใช้ในภาษาไพทอน สมมติว่าเรามีรายการค่าบูลีนที่เก็บว่า John Appleseed อยู่ใน 10 อันดับแรกในการแข่งขัน Indy 500 หรือไม่

หากเราต้องการทราบว่าเขามีอันดับที่ 10 อันดับแรกของการแข่งขันทั้งหมดหรือไม่ เราสามารถใช้ all() กระบวนการ. นี่คือตัวอย่างโปรแกรมที่ใช้ all() เพื่อตรวจสอบว่า John Appleseed อยู่ใน 10 อันดับแรกในทุกการแข่งขัน Indy 500 ของเขาหรือไม่:

race_wins_indy_500 = [False, False, True, False]

print(all(race_wins_indy_500))

รหัสของเราส่งคืน:เท็จ ในบรรทัดแรก เราประกาศรายชื่อที่เก็บว่าเขาติดอันดับท็อป 10 ในการแข่งขัน Indy 500 หรือไม่ จากนั้น เราใช้ all() เพื่อตรวจสอบว่าทุกค่าในรายการมีค่าเท่ากับ True หรือไม่ ในกรณีนี้ มีเพียงค่าเดียวที่เท่ากับ True ดังนั้นโปรแกรมของเราจึงคืนค่า False

ทั้งหมด() พร้อมพจนานุกรม

สมมติว่าเรามีพจนานุกรมที่เก็บบันทึกการแข่งขัน Indy 500 ประจำปี 2018 ของ John Appleseed เราต้องการทราบว่าทุกค่าในพจนานุกรมมีค่าเท่ากับ True หรือไม่ เพื่อหาสิ่งนี้ เราสามารถใช้รหัสต่อไปนี้:

indy_500_2018_john = {
	'driver_name': 'John Appleseed',
	'race_year': 2018,
	'top_ten': True
}

print(any(indy_500_2018_john))

รหัสของเราส่งคืน:จริง เนื่องจากทุกค่าในพจนานุกรมมีค่าเป็น True — ไม่มีค่าว่างหรือค่าเท็จในพจนานุกรม — รหัสของเราคืนค่า True

ทั้งหมด() พร้อมสตริง

ในทำนองเดียวกัน เราก็สามารถใช้ all() บนสตริงโดยใช้ไวยากรณ์เดียวกับที่เราทำสำหรับ any() กระบวนการ.

สมมติว่าเรามีสตริงที่เก็บชื่อนักแข่งที่เรากำลังวิเคราะห์ หากเราต้องการตรวจสอบว่าสตริงนี้ว่างหรือไม่ เราสามารถใช้ all() กระบวนการ. ดังที่เราได้กล่าวไว้ก่อนหน้านี้ all() คืนค่า False หากสตริงว่างเปล่า นี่คือตัวอย่าง all() ใช้เพื่อตรวจสอบว่าชื่อนักแข่งที่เรากำลังวิเคราะห์ว่างเปล่าหรือไม่:

racer_name = "John Appleseed"

print(all(racer_name))

รหัสของเราส่งคืน:จริง สตริงที่กำหนดให้กับตัวแปร racer_name มีค่าซึ่งหมายความว่าจะประเมินเป็น True เมื่อ all() เมธอดถูกดำเนินการ

บทสรุป

any() สามารถใช้เมธอดเพื่อตรวจสอบว่ารายการใดในอ็อบเจ็กต์ iterable มีค่าเป็น True หรือไม่ all() สามารถใช้เมธอดเพื่อตรวจสอบว่ารายการทั้งหมดในอ็อบเจกต์ iterable มีค่าเป็น True หรือไม่

บทช่วยสอนนี้กล่าวถึงวิธีใช้ทั้ง any() และ all() เมธอดใน Python และสำรวจตัวอย่างบางส่วนของเมธอดเหล่านี้ที่ใช้กับอ็อบเจ็กต์ iterable ประเภทต่างๆ ตอนนี้คุณมีความรู้ที่จำเป็นในการเริ่มใช้งาน any() และ all() ใน Python อย่างมืออาชีพ!

คุณสนใจที่จะเป็นนักพัฒนา Python มืออาชีพหรือไม่? ดาวน์โหลด แอป Career Karma ฟรี วันนี้และพูดคุยกับหนึ่งในโค้ชอาชีพผู้เชี่ยวชาญของเราเกี่ยวกับวิธีเริ่มต้นเส้นทางสู่อาชีพใหม่ของคุณ