Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python สำหรับคัดลอกสมาชิกทั้งหมดจากอาร์เรย์หนึ่งไปยังอีกอาร์เรย์หนึ่ง

เมื่อต้องการคัดลอกสมาชิกทั้งหมดจากลิสต์หนึ่งไปยังอีกลิสต์หนึ่ง สามารถสร้างลิสต์เปล่าขนาดเท่ากัน แล้ววนลูปกำหนดค่าแต่ละตำแหน่ง

ตัวอย่างโค้ด

my_list_1 = [34, 56, 78, 90, 11, 23]
my_list_2 = [None] * len(my_list_1)
for i in range(0, len(my_list_1)):
    my_list_2[i] = my_list_1[i]
print("The list is : ")
for i in range(0, len(my_list_1)):
    print(my_list_1[i])
print()
print("The new list : ")
for i in range(0, len(my_list_2)):
    print(my_list_2[i])

ผลลัพธ์

Elements of original array: 1 2 3 4 5
Elements of new array: 1 2 3 4 5

คำอธิบาย

  • กำหนดลิสต์ต้นทาง (my_list_1)

  • สร้างลิสต์ปลายทาง (my_list_2) ขนาดเท่ากัน เติมด้วย None

  • วนลูปคัดลอกค่าแต่ละตำแหน่งจากลิสต์ต้นทางไปยังลิสต์ปลายทาง

  • แสดงผลลิสต์ทั้งสอง

วิธีที่ง่ายกว่าใน Python:

  • my_list_2 = my_list_1.copy() (shallow copy)
  • my_list_2 = my_list_1[:] (slice copy)
  • my_list_2 = list(my_list_1) (constructor)
ทุกวิธีข้างต้นสร้าง shallow copy ซึ่งเพียงพอสำหรับลิสต์ของค่าปฐมภูมิ (int, str, float) แต่ถ้าลิสต์มีออบเจกต์ซ้อนกัน (nested lists) ควรใช้ copy.deepcopy()