j
เป็นรายการที่ว่างเปล่า แต่คุณกำลังพยายามเขียนถึงองค์ประกอบ[0]
ในการทำซ้ำครั้งแรกซึ่งยังไม่มี
ลองทำสิ่งต่อไปนี้แทนเพื่อเพิ่มองค์ประกอบใหม่ในตอนท้ายของรายการ:
for l in i:
j.append(l)
แน่นอนว่าคุณไม่เคยทำสิ่งนี้ในทางปฏิบัติหากสิ่งที่คุณต้องการทำคือการคัดลอกรายการที่มีอยู่ คุณแค่ทำ:
j = list(i)
อีกทางเลือกหนึ่งถ้าคุณต้องการใช้รายการ Python เช่นอาร์เรย์ในภาษาอื่นคุณสามารถสร้างรายการล่วงหน้าด้วยองค์ประกอบที่ตั้งไว้เป็นค่า Null ( None
ในตัวอย่างด้านล่าง) และหลังจากนั้นเขียนทับค่าในตำแหน่งที่ต้องการ:
i = [1, 2, 3, 5, 8, 13]
j = [None] * len(i)
#j == [None, None, None, None, None, None]
k = 0
for l in i:
j[k] = l
k += 1
สิ่งที่ต้องตระหนักคือlist
วัตถุจะไม่อนุญาตให้คุณกำหนดค่าให้กับดัชนีที่ไม่มีอยู่
append
เป็นโซลูชั่นที่เหมาะสมสำหรับกรณีการใช้งานของคุณอย่างไรก็ตามมีวิธีการแทรกในรายการหลามซึ่งสามารถแทรกโดยตรงไปยังตำแหน่งที่ฉันอยู่ในรายการj.insert(k, l)