Page 106 - python
P. 106

80




                   ผลลัพธ :

                    {'one': 'หนึ่ง', 'two': 'สอง', 'three': 'สาม', 'four': 'สี่', 'five': 'หา'}
                                                                                       ั
                            ตัวอยางที่ 7.6 ตัวแปรดิกชันนารี 2 ตัว คือ d1 และ d2 นํามารวมกนดวยคําสั่ง update()
                                                                     
                                                                          ั
                                              ี
                                       ิ
                                                            ั
                                                      ั
                   จะเปนการรวม ตัวแปรดกชันนารเขาดวยกน ผลลพธ d1 มีคาเทากบ {'one': 'หนึ่ง', 'two': 'สอง', 'three':
                   'สาม', 'four': 'สี่', 'five': 'หา'}

                   7.7 คําสั่ง map และ lambda
                                                      ั
                                                    
                                                        ั
                                                      ่
                              ่
                                             ี
                                             ่
                                                  
                           ํ
                                               ็
                          คาสัง map() ทําหนาทแมพฟงกชนกบอารกวเมนตเขาดวยกน
                                                                           ั
                                                                      
                                                              ิ
                                                      
                          คาสัง lambda คือ การสรางฟงกชนทีไมมีชอ (Anonymous Function)
                                                
                              ่
                                                   
                           ํ
                                                              ่
                                                         ่
                                                              ื
                                                       ั
                                                       ่

                   ตัวอยางที่ 7.7 การใชคําสั่ง map และ lambda
                    x = [ 2 , 3 , 4, 2, 1 ]
                    list(map(lambda a:a**2, x))

                   ผลลัพธ :
                    [4, 9, 16, 4, 1]
                          ตัวอยางที่ 7.7 การนําสมาชิกภายในตัวแปร x ซึ่งมีคา [ 2 , 3 , 4, 2, 1 ] มายกกําลังสอง ผลลัพธ
                   จะมีคา [ 2 ,  3 ,  4 ,  2 ,  1 ]  เมื่อคําสั่ง lambda a:a**2 หมายถง รับคามาเขามาเกบในตัวแปร a
                                                                            ึ
                                                                                             ็
                                                                                        





                   จากนั้น ยกกําลังสองดวยคําสั่ง a**2  คําสั่ง map จะทาการแม็พคาตัวแปรใหกบฟงกชั่น ในตัวอยางนี้
                                                                                           
                                                                                      ั
                                                                                         
                                                                  ํ
                    
                   ฟงกชั่น คือ lambda a:a**2 และตัวแปร คือ x ดังนั้น คาตัวแปรทอยูใน x แตละตัวจะถูกสงเขาไปให
                                                                            ี่
                                                                                                    
                    
                       
                                                         ั
                                                       
                                                   ี
                   ฟงกชน lambda a:a**2  ผลลัพธจึงมคาเทากบ [4, 9, 16, 4, 1]
                        ั
                        ่

                   ตัวอยางที่ 7.8 การใช map และ lambda กับตัวแปรลีสต 2 ชุด
                    x = [ 2 , 3 , 4, 2, 2 ]
                    y = [ 2, 1, 2, 4, 5 ]
                    list(map(lambda a,b:a+b , x, y))

                   ผลลัพธ :
                    [4, 4, 6, 6, 7]
                            ตัวอยางที่ 7.8 สมาชิกในตัวแปร x และ y จะถูกนํามาบวกกันทีละคู ผลลัพธจะมีคา [2+2, 3+
                   1, 4+2, 2+4, 2+5] ฟงกชั่นที่สรางขึ้น คือ lambda a,b : a+b หมายถึง ฟงกชั่นรับอารกิวเมนต 2 ตัว คือ
                                                                                 
                   a และ b และคืนคาเปนผลรวม a+b  ฟงกชั่น map() จะแม็พฟงกชั่นและตัวแปรเขาดวยกน
                                                                              
                                                         
                                                                                                        ั
                   ในตัวอยางนี้มีตัวแปร 2 ชุด  ดังนั้นเรียกใชดวยคําสั่ง map(function, x,y) เมื่อ function คือ lambda a,
                              ้
                                                                                 
                                                                  ่
                                        ่
                                        ี
                                          
                                                
                                                                ํ
                   b:a+b จากนัน ผลลัพธทไดแปลงเปนตัวแปรลีสตดวยคาสง list() ผลลพธมีคา [4, 4, 6, 6, 7]
                                                                            ั
                                                                  ั

                   7.8 คําสั่ง filter
                                             ่
                                             ี
                              ่
                          คาสัง filter() ทําหนาทกรองคาออกมาจากตัวแปรลีสต โดยผลลัพธที่ไดจะกรอกตามเงื่อนไข ดังนี้
                           ํ
   101   102   103   104   105   106   107   108   109   110   111