สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums ที่มีจำนวนบวกและลบ เราต้องอัปเดตรายการนี้เพื่อให้รายการสุดท้ายเก็บค่าสัมบูรณ์ของแต่ละองค์ประกอบเท่านั้น
ดังนั้น หากอินพุตเป็น nums =[5,-7,-6,4,6,-9,3,-6,-2] ผลลัพธ์จะเป็น [5, 7, 6, 4, 6, 9, 3, 6, 2]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- แก้ปัญหานี้ด้วยแผนที่และรายการการดำเนินงาน
- กำหนดฟังก์ชันที่ไม่ระบุชื่อหนึ่งฟังก์ชันพูดว่า l ซึ่งรับ x เป็นอาร์กิวเมนต์และส่งกลับ abs(x)
- ใช้ map() วิธีการแปลงแต่ละองค์ประกอบ e จาก nums เป็น l(e)
- กลับรายการ
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(nums): return list(map(lambda x:abs(x), nums)) nums = [5,-7,-6,4,6,-9,3,-6,-2] print(solve(nums))
อินพุต
[5,-7,-6,4,6,-9,3,-6,-2]
ผลลัพธ์
[5, 7, 6, 4, 6, 9, 3, 6, 2]