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:
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:
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ó thêm các phần tử tại chỉ mục đã cho trong một mảng.import copy l = [copy.copy[x] for x in [[0]] * 4] l[0][0] += 1 print l # prints "[[1], [0], [0], [0]]"
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
8Sự kết luận
Do đó, trong bài viết này, chúng tôi đã thực hiện các cách có thể để thêm các yếu tố vào một mảng.
Người giới thiệu
- Python thêm vào một mảng
- Tài liệu python mảng
- Tài liệu Python Numpy