map(function, iterable, ...)
ใช้ฟังก์ชั่นกับทุกรายการของ iterable และส่งคืนรายการผลลัพธ์ หากมีการส่งผ่านอาร์กิวเมนต์ที่ซ้ำได้เพิ่มเติมฟังก์ชันต้องใช้อาร์กิวเมนต์จำนวนมากและนำไปใช้กับไอเท็มจาก iterables ทั้งหมดพร้อมกัน
หากหนึ่ง iterable สั้นกว่าอีกมันจะถือว่าเป็นขยายด้วยไม่มีรายการ
หากฟังก์ชั่นฟังก์ชั่นNone
ตัวตนจะถือว่า; หากมีหลายอาร์กิวเมนต์ให้map()
ส่งคืนรายการที่ประกอบด้วย tuples ที่มีรายการที่สอดคล้องจาก iterables ทั้งหมด (ชนิดของการดำเนินการแปลงข้อมูล)
ข้อโต้แย้งที่ทำซ้ำอาจเป็นลำดับหรือวัตถุที่ทำซ้ำได้; ผลลัพธ์จะเป็นรายการเสมอ
สิ่งนี้มีบทบาทอย่างไรในการสร้างผลิตภัณฑ์คาร์ทีเซียน?
content = map(tuple, array)
เอฟเฟกต์ใดที่ทำให้สิ่งอันดับในนั้นมี? ฉันยังสังเกตเห็นว่าหากไม่มีฟังก์ชั่นแผนที่เอาต์พุตabc
ก็จะเป็นa, b, c
ไปตามนั้น
ฉันต้องการเข้าใจฟังก์ชั่นนี้อย่างสมบูรณ์ คำจำกัดความการอ้างอิงก็ยากที่จะเข้าใจเช่นกัน ปุยแฟนซีมากเกินไป
map(None, a, b, c)
zip(a, b, c)
แต่คุณไม่ค่อยเห็นว่าในทางปฏิบัติแม่นยำเพราะการzip
โทรนั้นเทียบเท่ากัน
tuple
เป็นฟังก์ชั่น (ดีของตนที่เหมาะสมยิ่งขึ้นกว่า แต่ก็จะทำงานเช่นฟังก์ชั่น) ที่ใช้เวลา iterable และช่วยให้คุณ tuple ด้วยองค์ประกอบเดียวกัน - เพื่อให้เทียบเท่ากับtuple([1, 2, 3])
(1, 2, 3)
สำหรับmap(tuple, array)
, array
จะเป็น iterable ของ iterables (คิดว่า list), และมันให้คุณย้อนกลับแต่ละ list ภายในกลายเป็น tuple.
map
?