เมื่อจำเป็นต้องทำให้รายการเรียบโดยไม่ต้องใช้เทคนิคการเรียกซ้ำ สามารถใช้ฟังก์ชันแลมบ์ดา, วิธี "รวม", วิธี "แผนที่" และวิธีการ "อินสแตนซ์" ได้
สามารถใช้รายการเพื่อเก็บค่าที่แตกต่างกัน (เช่น ข้อมูลของประเภทข้อมูลใดๆ เช่น จำนวนเต็ม จุดลอยตัว สตริง และอื่นๆ)
เมธอด 'isinstance' จะตรวจสอบว่าพารามิเตอร์ที่กำหนดเป็นของประเภทข้อมูลเฉพาะหรือไม่
ฟังก์ชันนิรนามเป็นฟังก์ชันที่กำหนดโดยไม่มีชื่อ โดยทั่วไป ฟังก์ชันใน Python ถูกกำหนดโดยใช้คีย์เวิร์ด 'def' แต่ฟังก์ชันที่ไม่ระบุตัวตนถูกกำหนดด้วยความช่วยเหลือของคีย์เวิร์ด 'lambda' ใช้นิพจน์เดียว แต่สามารถรับอาร์กิวเมนต์จำนวนเท่าใดก็ได้ มันใช้นิพจน์และส่งกลับผลลัพธ์ของมัน
ฟังก์ชันแผนที่ใช้ฟังก์ชัน/การทำงานที่กำหนดกับทุกรายการใน iterable (เช่น list, tuple) ส่งคืนรายการเป็นผลลัพธ์
วิธี 'sum' จะเพิ่มค่าตัวเลขที่มีอยู่ใน iterable
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -
my_list = [[[11,[[32]],[[[53]]]],[[64],75]], [[6, 89, 99]]] flattened_list = lambda my_list: sum(map(flattened_list,my_list),[]) if isinstance(my_list,list) else [my_list] print("The original list is : ") print(my_list) print("The flattened list is :") print(flattened_list(my_list))
ผลลัพธ์
The original list is : [[[11, [[32]], [[[53]]]], [[64], 75]], [[6, 89, 99]]] The flattened list is : [11, 32, 53, 64, 75, 6, 89, 99]
คำอธิบาย
- มีการกำหนดรายการที่ซ้อนกันและแสดงบนคอนโซล
- องค์ประกอบถูกสรุปโดยใช้วิธี "ผลรวม" และนำไปใช้กับทุกองค์ประกอบโดยใช้วิธี "แผนที่"
- ผลลัพธ์ของการดำเนินการนี้ถูกกำหนดให้กับตัวแปร
- แสดงเป็นเอาต์พุตบนคอนโซล