Làm thế nào để khai báo và thêm các mục vào một mảng trong Python?


386

Tôi đang cố gắng thêm các mục vào một mảng trong python.

tôi chạy

array = {}

Sau đó, tôi cố gắng thêm một cái gì đó vào mảng này bằng cách thực hiện:

array.append(valueToBeInserted)

Dường như không có một .appendphương pháp nào cho việc này. Làm cách nào để thêm các mục vào một mảng?

Câu trả lời:


692

{}đại diện cho một từ điển trống, không phải là một mảng / danh sách. Đối với danh sách hoặc mảng, bạn cần [].

Để khởi tạo một danh sách trống, hãy làm điều này:

my_list = []

hoặc là

my_list = list()

Để thêm các yếu tố vào danh sách, sử dụng append

my_list.append(12)

Để extenddanh sách bao gồm các yếu tố từ danh sách khác sử dụngextend

my_list.extend([1,2,3,4])
my_list
--> [12,1,2,3,4]

Để xóa phần tử khỏi danh sách, hãy sử dụng remove

my_list.remove(2)

Từ điển đại diện cho một tập hợp các cặp khóa / giá trị còn được gọi là mảng kết hợp hoặc bản đồ.

Để khởi tạo một từ điển trống sử dụng {}hoặcdict()

Từ điển có khóa và giá trị

my_dict = {'key':'value', 'another_key' : 0}

Để mở rộng một từ điển với nội dung của một từ điển khác, bạn có thể sử dụng updatephương pháp

my_dict.update({'third_key' : 1})

Để xóa một giá trị khỏi từ điển

del my_dict['key']

Ồ ok, tôi hiểu nó là một danh sách sẽ cần phải có khóa và giá trị, nhưng tôi đoán là không
AkshaiShah

38

Không, nếu bạn làm:

array = {}

Trong ví dụ của bạn, bạn đang sử dụng arraynhư một từ điển, không phải là một mảng. Nếu bạn cần một mảng, trong Python bạn sử dụng danh sách:

array = []

Sau đó, để thêm các mục bạn làm:

array.append('a')

1
Nitpicking: Bạn không tuyên bố bất cứ điều gì. Bạn đặt tên trong phạm vi hiện tại đề cập đến một đối tượng từ điển / danh sách.

16

Mảng (được gọi listtrong python) sử dụng []ký hiệu. {}dành cho dict(còn được gọi là bảng băm, mảng liên quan, v.v. trong các ngôn ngữ khác) vì vậy bạn sẽ không có 'phụ lục' cho một lệnh.

Nếu bạn thực sự muốn một mảng (danh sách), sử dụng:

array = []
array.append(valueToBeInserted)

11

Chỉ cần hoàn thành, bạn cũng có thể làm điều này:

array = []
array += [valueToBeInserted]

Nếu đó là danh sách các chuỗi, điều này cũng sẽ hoạt động:

array += 'string'

2

Trong một số ngôn ngữ như JAVA, bạn xác định một mảng bằng cách sử dụng dấu ngoặc nhọn như sau nhưng trong python, nó có một nghĩa khác:

Java:

int[] myIntArray = {1,2,3};
String[] myStringArray = {"a","b","c"};

Tuy nhiên, trong Python, dấu ngoặc nhọn được sử dụng để xác định từ điển, cần key:valuegán như{'a':1, 'b':2}

Để thực sự xác định một mảng (mà thực sự được gọi là danh sách trong python), bạn có thể làm:

Con trăn

mylist = [1,2,3]

hoặc các ví dụ khác như:

mylist = list()
mylist.append(1)
mylist.append(2)
mylist.append(3)
print(mylist)
>>> [1,2,3]

2

Bạn cũng có thể làm:

array = numpy.append(array, value)

Lưu ý rằng numpy.append()phương thức trả về một đối tượng mới, vì vậy nếu bạn muốn sửa đổi mảng ban đầu của mình, bạn phải viết:array = ...


-1

Tôi tin rằng bạn đều sai. Bạn cần phải làm:

array = array[] để xác định nó, và sau đó:

array.append ["hello"] để thêm vào nó


4
Cách chính xác để xác định một mảng làarray = []
Shai

1
Bạn cũng có thể định nghĩa nó bằng cách sử dụng array = list(). Lưu ý xác định nó là một mảng bằng cách sử dụng [] cung cấp chức năng cụ thể chỉ có sẵn cho các mảng như phân chia mảng theo một số nguyên duy nhất. Ví dụ. array/3
Dalton Whyte

Cú pháp: cú pháp không hợp lệ
CodeGuru

Chỉ cần giữ danh sách khi sử dụng python
CodeGuru
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.