อยากจะดักค่า IndexError: list index out of range error ตอนเรียก list ที่มีจำนวนไม่เท่ากัน

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: อยากจะดักค่า IndexError: list index out of range error ตอนเรียก list ที่มีจำนวนไม่เท่ากัน

Re: อยากจะดักค่า IndexError: list index out of range error ตอนเรียก list ที่มีจำนวนไม่เท่ากัน

โดย thatsawan » 31/08/2017 12:07 pm

mindphp เขียน:

โค้ด: เลือกทั้งหมด

try:
    โค้ดที่ต้องการให้ทำงาน 
except IndexError:
    กำหนดค่าใหม่ให้ตัวแปล 
    
ใช่้งานได้เเล้วค่ะ

Re: อยากจะดักค่า IndexError: list index out of range error ตอนเรียก list ที่มีจำนวนไม่เท่ากัน

โดย mindphp » 31/08/2017 8:18 am

โค้ด: เลือกทั้งหมด

try:
    โค้ดที่ต้องการให้ทำงาน 
except IndexError:
    กำหนดค่าใหม่ให้ตัวแปล 
    
หรือ

len คือความยาวของตัวแปล

โค้ด: เลือกทั้งหมด

 if len(a[3]) > 1 :
     print a[3]

อยากจะดักค่า IndexError: list index out of range error ตอนเรียก list ที่มีจำนวนไม่เท่ากัน

โดย thatsawan » 31/08/2017 2:26 am

โค้ด: เลือกทั้งหมด

a = [1,2,3]


print a[0]
print a[1]
print a[2]
print a[3]

# if len(a[3]) < 1 :
#     print a[3]

# if a[3] != '':
#     print a
อยากทราบว่าเราจะเช็คเงื่อนไขถ้าเรียก index ที่ไม่มียุจริงได้ยังไงค่ะ
ทดลอง

โค้ด: เลือกทั้งหมด

# if len(a[3]) < 1 :
ไม่ได้
แบบนี้ก้อไม่ได้ค่ะ

โค้ด: เลือกทั้งหมด

 if a[3] != '':

ข้างบน