for ... in ... :

  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.
  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.

ลองเดาว่าโปรแกรมข้างล่างนี้จะพิมพ์อะไร (ห้ามเอาไปรันนะ...)

l = [1,2,3]
for i in l:
    l.remove(i)
 
print l

ลองๆ เดาผลลัพธ์ดู แล้วลองเอาไปรันจริง แล้วอธิบายว่าเกิดอะไรขึ้น...

sugree's picture

จำได้ลางๆ ว่านี่เป็นหัวข้อแรกของหนังสือสอน Python เล่มแรกที่อ่าน เห็นกี่ทีก็เสียวแทน ลองแบบอื่นมั่ง

l = [1,2,3]
filter(lambda i: l.remove(i),l)
l = [1,2,3]
for i in l[:]:
    l.remove(i)

syntax l[:] นี่งงอยู่วูบหนึ่ง

ย้าย Codenone

ประกาศย้าย Codenone ไปใช้ Forum ของ Blognone แทนครับ ตามไปตั้งกระทู้ต่อได้ที่ Codenone Forum (รายละเอียดอ่านจากกระทู้ ย้าย Codenone ไปรวมกับ Blognone)

กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น