Hướng dẫn how do you copy a part of a list in python? - làm thế nào để bạn sao chép một phần của danh sách trong python?

Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về phương thức Danh sách Python () với sự trợ giúp của các ví dụ.

Phương thức

new_list = list.copy()
8 trả về một bản sao nông của danh sách.

Thí dụ

# mixed list
prime_numbers = [2, 3, 5]

# copying a list numbers = prime_numbers.copy()

print('Copied List:', numbers) # Output: Copied List: [2, 3, 5]


Sao chép () Cú pháp

Cú pháp của phương thức

new_list = list.copy()
8 là:

new_list = list.copy()

Sao chép () tham số

Phương thức

new_list = list.copy()
8 không lấy bất kỳ tham số nào.


sao chép () giá trị trả về

Phương thức

new_list = list.copy()
8 trả về một danh sách mới. Nó không sửa đổi danh sách ban đầu.


Ví dụ: Sao chép danh sách

# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)

Đầu ra

Copied List: ['cat', 0, 6.7]

Nếu bạn sửa đổi new_list trong ví dụ trên, my_list sẽ không được sửa đổi.


Danh sách bản sao bằng cách sử dụng =

Chúng tôi cũng có thể sử dụng toán tử

# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
2 để sao chép danh sách. Ví dụ,

old_list = [1, 2, 3]
new_list = old_list

Howerver, có một vấn đề với việc sao chép danh sách theo cách này. Nếu bạn sửa đổi new_list, old_list cũng được sửa đổi. Đó là bởi vì danh sách mới đang tham khảo hoặc chỉ vào cùng một đối tượng Old_list.

old_list = [1, 2, 3]

# copy list using = new_list = old_list

# add an element to list new_list.append('a') print('New List:', new_list) print('Old List:', old_list)

Đầu ra

Old List: [1, 2, 3, 'a']
New List: [1, 2, 3, 'a']

Nếu bạn sửa đổi new_list trong ví dụ trên, my_list sẽ không được sửa đổi.

Danh sách bản sao bằng cách sử dụng = Python Shallow Copy Vs Deep Copy


Chúng tôi cũng có thể sử dụng toán tử # mixed list my_list = ['cat', 0, 6.7] # copying a list new_list = my_list.copy() print('Copied List:', new_list)2 để sao chép danh sách. Ví dụ,

# shallow copy using the slicing syntax

# mixed list
list = ['cat', 0, 6.7]

# copying a list using slicing new_list = list[:]

# Adding an element to the new list new_list.append('dog') # Printing new and old list print('Old List:', list) print('New List:', new_list)

Đầu ra

Old List: ['cat', 0, 6.7]
New List: ['cat', 0, 6.7, 'dog']

Tôi đã tìm kiếm một chủ đề có liên quan về cách làm điều này nhưng tôi không thể tìm thấy bất cứ điều gì.

Tôi có một mảng:

x = [a,a,a,b,a,a]

Tôi muốn sao chép các phần tử của mảng vào một mảng mới cho đến khi tôi tìm thấy 'B'. Tôi đã cố gắng làm điều này với một vòng lặp nhưng tôi gặp lỗi rằng "y không được xác định", tôi đã thử khởi tạo y nhưng điều đó cũng không hoạt động. Bất kỳ ý tưởng? Tôi chắc chắn có một cách tốt hơn để làm điều này.

new_list = list.copy()
0

Hướng dẫn how do you copy a part of a list in python? - làm thế nào để bạn sao chép một phần của danh sách trong python?

Hỏi ngày 5 tháng 8 năm 2016 lúc 12:58Aug 5, 2016 at 12:58

Hướng dẫn how do you copy a part of a list in python? - làm thế nào để bạn sao chép một phần của danh sách trong python?

2

Thử cái này:

new_list = list.copy()
1

Ví dụ:

new_list = list.copy()
2

Xem

# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
4 và lát sao chép nông để biết thêm thông tin.

Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:04Aug 5, 2016 at 13:04

Hướng dẫn how do you copy a part of a list in python? - làm thế nào để bạn sao chép một phần của danh sách trong python?

Sẽ sẽWill

23.3K13 Huy hiệu vàng93 Huy hiệu bạc105 Huy hiệu Đồng13 gold badges93 silver badges105 bronze badges

new_list = list.copy()
3

?

Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:02Aug 5, 2016 at 13:02

3

Bạn có thể sử dụng

# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
5:

new_list = list.copy()
4

Khi sử dụng một vòng lặp, bạn phải sử dụng

# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
6; Nếu bạn làm
# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
7, thì bạn sẽ nhận được
# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
8 khi bạn cố gắng đặt ví dụ: Phần tử đầu tiên của một mảng có các phần tử bằng không. Ngoài ra, khi bạn lặp như thế này
# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
9 thì
Copied List: ['cat', 0, 6.7]
0 đã là yếu tố từ
Copied List: ['cat', 0, 6.7]
1, tức là bạn không phải làm
Copied List: ['cat', 0, 6.7]
2. Trong trường hợp của bạn, điều này không đưa ra một ngoại lệ, vì
Copied List: ['cat', 0, 6.7]
3 sẽ là yếu tố hợp lệ của
Copied List: ['cat', 0, 6.7]
1, nhưng nó sẽ không phải là những gì bạn mong đợi.

Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:04Aug 5, 2016 at 13:04

tobias_ktobias_ktobias_k

Sẽ sẽ11 gold badges116 silver badges177 bronze badges

23.3K13 Huy hiệu vàng93 Huy hiệu bạc105 Huy hiệu Đồnggenerator expression:

new_list = list.copy()
5

?Aug 5, 2016 at 13:12

Hướng dẫn how do you copy a part of a list in python? - làm thế nào để bạn sao chép một phần của danh sách trong python?

Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:02Andriy Ivaneyko

Bạn có thể sử dụng

# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
5:6 gold badges56 silver badges80 bronze badges

4

Khi sử dụng một vòng lặp, bạn phải sử dụng

# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
6; Nếu bạn làm
# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
7, thì bạn sẽ nhận được
# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
8 khi bạn cố gắng đặt ví dụ: Phần tử đầu tiên của một mảng có các phần tử bằng không. Ngoài ra, khi bạn lặp như thế này
# mixed list
my_list = ['cat', 0, 6.7]

# copying a list new_list = my_list.copy()

print('Copied List:', new_list)
9 thì
Copied List: ['cat', 0, 6.7]
0 đã là yếu tố từ
Copied List: ['cat', 0, 6.7]
1, tức là bạn không phải làm
Copied List: ['cat', 0, 6.7]
2. Trong trường hợp của bạn, điều này không đưa ra một ngoại lệ, vì
Copied List: ['cat', 0, 6.7]
3 sẽ là yếu tố hợp lệ của
Copied List: ['cat', 0, 6.7]
1, nhưng nó sẽ không phải là những gì bạn mong đợi.

new_list = list.copy()
6

79,8K11 Huy hiệu vàng116 Huy hiệu bạc177 Huy hiệu đồngAug 5, 2016 at 13:20

Hướng dẫn how do you copy a part of a list in python? - làm thế nào để bạn sao chép một phần của danh sách trong python?

Cách để hoàn thành công việc với biểu thức máy phát:tokhi

Đã trả lời ngày 5 tháng 8 năm 2016 lúc 13:1223 gold badges92 silver badges105 bronze badges

1

Andriy Ivaneykoandriy Ivaneyko

new_list = list.copy()
7

?Aug 5, 2016 at 13:12

Hướng dẫn how do you copy a part of a list in python? - làm thế nào để bạn sao chép một phần của danh sách trong python?

Nắm đấm sắtIron Fist

10,5K2 Huy hiệu vàng18 Huy hiệu bạc33 Huy hiệu đồng2 gold badges18 silver badges33 bronze badges

2