นี่ค่อนข้างน่าเบื่อ แต่ฉันกำลังพยายามเรียนรู้ / ทำความเข้าใจการเขียนโปรแกรมเชิงฟังก์ชันใน python รหัสต่อไปนี้:
foos = [1.0,2.0,3.0,4.0,5.0]
bars = [1,2,3]
def maptest(foo, bar):
print foo, bar
map(maptest, foos, bars)
ผลิต:
1.0 1
2.0 2
3.0 3
4.0 None
5.0 None
ถามมีวิธีใช้แผนที่หรือเครื่องมือการทำงานอื่น ๆ ใน python เพื่อสร้างสิ่งต่อไปนี้โดยไม่ต้องวนซ้ำเป็นต้น
1.0 [1,2,3]
2.0 [1,2,3]
3.0 [1,2,3]
4.0 [1,2,3]
5.0 [1,2,3]
เช่นเดียวกับข้อสังเกตว่าการใช้งานจะเปลี่ยนไปอย่างไรหากมีการพึ่งพาระหว่าง foo และ bar เช่น
foos = [1.0,2.0,3.0,4.0,5.0]
bars = [1,2,3,4,5]
และพิมพ์:
1.0 [2,3,4,5]
2.0 [1,3,4,5]
3.0 [1,2,4,5]
...
PS: ฉันรู้วิธีทำอย่างไร้เดียงสาโดยใช้ if, ลูปและ / หรือเครื่องกำเนิดไฟฟ้า แต่ฉันต้องการเรียนรู้วิธีบรรลุสิ่งเดียวกันโดยใช้เครื่องมือที่ใช้งานได้ เป็นเพียงกรณีของการเพิ่มคำสั่ง if ลงใน maptest หรือใช้แผนที่ตัวกรองอื่นกับแถบภายในภายใน maptest หรือไม่?