Vấn đề của bạn có tương tự như thế này không:
l = [[0]] * 4
l[0][0] += 1
print l # prints "[[1], [1], [1], [1]]"
Nếu vậy, bạn chỉ cần sao chép các đối tượng khi bạn lưu trữ chúng:
import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
Các đối tượng trong câu hỏi nên thực hiện một phương thức __copy__
để sao chép các đối tượng. Xem tài liệu cho
import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
0. Bạn cũng có thể quan tâm đến import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
1, cũng có.Chỉnh sửa: Đây là vấn đề:
arrayList = []
for x in allValues:
result = model[x]
arrayList.append[wM] # appends the wM object to the list
wM.reset[] # clears the wM object
Bạn cần nối thêm một bản sao:
import copy
arrayList = []
for x in allValues:
result = model[x]
arrayList.append[copy.copy[wM]] # appends a copy to the list
wM.reset[] # clears the wM object
Nhưng tôi vẫn bối rối về việc
import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
2 đến từ đâu. Bạn sẽ chỉ sao chép cùng một đối tượng import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
2 nhiều lần, ngoại trừ việc xóa nó sau lần đầu tiên để tất cả phần còn lại sẽ trống? Hay import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
4 sửa đổi import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
2 [nghe có vẻ như là một lỗ hổng thiết kế khủng khiếp đối với tôi]? Và tại sao bạn lại vứt bỏ import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
6? Python không có một loại dữ liệu cụ thể để thể hiện các mảng. Có thể được sử dụng để biểu diễn các mảng trong Python:
- Bằng cách sử dụng danh sách
- Bằng cách sử dụng mô -đun mảng
- Bằng cách sử dụng mô -đun Numpy
1. Thêm vào một mảng bằng danh sách
Nếu chúng ta đang sử dụng danh sách làm mảng, các phương thức sau có thể được sử dụng để thêm các phần tử vào nó:
7: Nó thêm các phần tử vào cuối mảng.import copy l = [copy.copy[x] for x in [[0]] * 4] l[0][0] += 1 print l # prints "[[1], [0], [0], [0]]"
8: Nó chèn các phần tử tại chỉ số đã cho.import copy l = [copy.copy[x] for x in [[0]] * 4] l[0][0] += 1 print l # prints "[[1], [0], [0], [0]]"
9: Nó kéo dài danh sách bằng cách nối thêm các yếu tố từ cả hai danh sách.import copy l = [copy.copy[x] for x in [[0]] * 4] l[0][0] += 1 print l # prints "[[1], [0], [0], [0]]"
Ví dụ 1: Thêm các phần tử vào hàm arrayusing append [] using append[] function
my_input = ['Engineering', 'Medical'] my_input.append['Science'] print[my_input]
Output:
arrayList = []
for x in allValues:
result = model[x]
arrayList.append[wM] # appends the wM object to the list
wM.reset[] # clears the wM object
0Ví dụ 2: Thêm các phần tử vào một mảng bằng hàm mở rộng []
my_input = ['Engineering', 'Medical'] input1 = [40, 30, 20, 10] my_input.extend[input1] print[my_input]
Output:
arrayList = []
for x in allValues:
result = model[x]
arrayList.append[wM] # appends the wM object to the list
wM.reset[] # clears the wM object
1Ví dụ 3: Thêm các phần tử vào một mảng bằng hàm chèn []
my_input = [1, 2, 3, 4, 5] print[f'Current Numbers List {my_input}'] number = int[input["Please enter a number to be added:\n"]] index = int[input[f'Enter the index between 0 and {len[my_input] - 1} to add the given number:\n']] my_input.insert[index, number] print[f'Updated List {my_input}']
Output:
2. Thêm vào một mảng bằng mô -đun mảng
Nếu chúng ta đang sử dụng mô -đun mảng, các phương thức sau có thể được sử dụng để thêm các phần tử vào nó:
2: Mảng kết quả là sự kết hợp của các phần tử từ cả hai mảng.arrayList = [] for x in allValues: result = model[x] arrayList.append[wM] # appends the wM object to the list wM.reset[] # clears the wM object
-
7: Nó thêm các phần tử vào cuối mảng.import copy l = [copy.copy[x] for x in [[0]] * 4] l[0][0] += 1 print l # prints "[[1], [0], [0], [0]]"
8: Nó chèn các phần tử tại chỉ số đã cho.import copy l = [copy.copy[x] for x in [[0]] * 4] l[0][0] += 1 print l # prints "[[1], [0], [0], [0]]"
9: Nó kéo dài danh sách bằng cách nối thêm các yếu tố từ cả hai danh sách.import copy l = [copy.copy[x] for x in [[0]] * 4] l[0][0] += 1 print l # prints "[[1], [0], [0], [0]]"
Example:
import array s1 = array.array['i', [1, 2, 3]] s2 = array.array['i', [4, 5, 6]] print[s1] print[s2] s3 = s1 + s2 print[s3] s1.append[4] print[s1] s1.insert[0, 10] print[s1] s1.extend[s2] print[s1]
Output:
Ví dụ 2: Thêm các phần tử vào một mảng bằng hàm mở rộng []
Ví dụ 3: Thêm các phần tử vào một mảng bằng hàm chèn []
- Chức năng Infput-Insert
- 2. Thêm vào một mảng bằng mô -đun mảng
Example:
import numpy # insert function arr1_insert = numpy.array[[1, 23, 33]] arr2_insert = numpy.insert[arr1_insert, 1, 91] print[arr2_insert] # append function arr1_append = numpy.array[[4, 2, 1]] arr2_append = numpy.append [arr1_append, [12, 13, 14]] print[arr2_append]
Output:
arrayList = []
for x in allValues:
result = model[x]
arrayList.append[wM] # appends the wM object to the list
wM.reset[] # clears the wM object
8Nếu chúng ta đang sử dụng mô -đun mảng, các phương thức sau có thể được sử dụng để thêm các phần tử vào nó:
arrayList = []
for x in allValues:
result = model[x]
arrayList.append[wM] # appends the wM object to the list
wM.reset[] # clears the wM object
2: Mảng kết quả là sự kết hợp của các phần tử từ cả hai mảng. import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
7: Nó thêm các phần tử vào cuối mảng.
import copy
l = [copy.copy[x] for x in [[0]] * 4]
l[0][0] += 1
print l # prints "[[1], [0], [0], [0]]"
- Mô -đun mảng đầu ra
- 3. Bổ sung các yếu tố vào mảng numpy
- Chúng ta có thể thêm các phần tử vào một mảng numpy bằng các phương thức sau: