Hướng dẫn can we have entries of different data types in a given array in python? - chúng ta có thể có các mục thuộc các loại dữ liệu khác nhau trong một mảng nhất định trong python không?

Python có thể có một danh sách với các loại dữ liệu khác nhau trong đó, tức là [1, "hai", 3]. Python đã được triển khai trong C, vậy làm thế nào tôi có thể tạo một mảng với các loại dữ liệu khác nhau trong đó bằng C?

Hướng dẫn can we have entries of different data types in a given array in python? - chúng ta có thể có các mục thuộc các loại dữ liệu khác nhau trong một mảng nhất định trong python không?

Khi được hỏi ngày 11 tháng 5 năm 2012 lúc 21:09May 11, 2012 at 21:09

2

Vì vậy, tôi không biết làm thế nào nó được thực hiện trong Python, nhưng trong C có nhiều cách để hoạt động trên dữ liệu chung. Ở dạng đơn giản nhất của nó:

void *array[size];

Bây giờ bạn có một mảng đầy void*. Mỗi void* có thể chỉ ra bất cứ điều gì. Bạn cũng muốn một số thông tin bổ sung để cho bạn biết kích thước của thứ mà nó chỉ ra.

typedef struct {
    void *data;
    size_t size;
} elem;

Bạn có thể đại diện cho loại thực tế nếu cần thông qua một loạt các phương pháp. Bạn có thể sử dụng các công đoàn để giữ một trong các loại N trong cùng một biến. Dù sao, vấn đề là có nhiều cách khác nhau để hoạt động trên dữ liệu chung trong C.

Đã trả lời ngày 11 tháng 5 năm 2012 lúc 21:12May 11, 2012 at 21:12

Ed s.ed S.Ed S.

121K21 Huy hiệu vàng181 Huy hiệu bạc260 Huy hiệu đồng21 gold badges181 silver badges260 bronze badges

Điều gì sẽ xảy ra nếu mảng của bạn bao gồm các cấu trúc C của biểu mẫu:

struct slot {
  int type;
  char *data;
};

Bây giờ bạn có một mảng có thể chứa các loại dữ liệu tùy ý, miễn là bạn có thể đại diện cho chúng dưới dạng con trỏ-tới gar.

Tất nhiên, đây không phải là Python làm thế nào; Vấn đề là không cần phải có bất kỳ kết nối nào giữa cách ứng dụng của bạn xử lý dữ liệu và cách ngôn ngữ triển khai của bạn xử lý dữ liệu.

Đã trả lời ngày 11 tháng 5 năm 2012 lúc 21:11May 11, 2012 at 21:11

Larskslarskslarsks

247K37 Huy hiệu vàng366 Huy hiệu bạc362 Huy hiệu Đồng37 gold badges366 silver badges362 bronze badges

Làm cách nào để tạo một mảng với các loại dữ liệu khác nhau trong đó bằng C?

Bạn không thể; C là một ngôn ngữ được gõ tĩnh.

Tuy nhiên, bạn có thể sử dụng những thứ như công đoàn:

typedef union {
    int i;
    float f;
} Foo;


Foo array[3];

array[0].i = 3;
array[1].f = 4.2;
...

Bạn cũng có thể sử dụng void * để chỉ vào bất kỳ đối tượng nào bạn thích, nhưng điều này đòi hỏi phải quản lý bộ nhớ cẩn thận.

Đã trả lời ngày 11 tháng 5 năm 2012 lúc 21:12May 11, 2012 at 21:12

Ed s.ed S.

121K21 Huy hiệu vàng181 Huy hiệu bạc260 Huy hiệu đồng

Điều gì sẽ xảy ra nếu mảng của bạn bao gồm các cấu trúc C của biểu mẫu:

Bây giờ bạn có một mảng có thể chứa các loại dữ liệu tùy ý, miễn là bạn có thể đại diện cho chúng dưới dạng con trỏ-tới gar.May 26, 2012 at 10:23

Tất nhiên, đây không phải là Python làm thế nào; Vấn đề là không cần phải có bất kỳ kết nối nào giữa cách ứng dụng của bạn xử lý dữ liệu và cách ngôn ngữ triển khai của bạn xử lý dữ liệu.tzot

Đã trả lời ngày 11 tháng 5 năm 2012 lúc 21:1129 gold badges138 silver badges201 bronze badges

Không, chúng tôi không thể lưu trữ nhiều kiểu dữ liệu trong một mảng, chúng tôi chỉ có thể lưu trữ kiểu dữ liệu tương tự trong một mảng.

Cách tạo một mảng với các loại dữ liệu khác nhau

Hướng dẫn can we have entries of different data types in a given array in python? - chúng ta có thể có các mục thuộc các loại dữ liệu khác nhau trong một mảng nhất định trong python không?

Bạn có thể tạo một mảng với các phần tử của các loại dữ liệu khác nhau khi khai báo mảng là đối tượng. Vì System.Object là lớp cơ sở của tất cả các loại khác, một mục trong một mảng các đối tượng có thể có một tham chiếu đến bất kỳ loại đối tượng nào khác.

Bán tại:

Để truy xuất các loại dữ liệu khác nhau từ một mảng đối tượng, bạn có thể chuyển đổi một phần tử thành kiểu dữ liệu phù hợp.

NOTE:

Nếu bạn muốn lưu trữ các loại dữ liệu khác nhau trong một mảng, hãy sử dụng tốt hơn System.collections.arraylist.

Lớp ArrayList

Hướng dẫn can we have entries of different data types in a given array in python? - chúng ta có thể có các mục thuộc các loại dữ liệu khác nhau trong một mảng nhất định trong python không?

ArrayList về cơ bản là một thay thế cho một mảng. Đây là một trong những cấu trúc dữ liệu linh hoạt nhất từ ​​.NET Framework. Nó cũng cho phép phân bổ bộ nhớ động, thêm, tìm kiếm và sắp xếp các mục trong danh sách. Thông tin thêm về .... Arraylist

Ví dụ mảng

Các mảng đang sử dụng để lưu trữ nhóm dữ liệu tương tự như một đơn vị. Chúng ta có thể truy cập các phần tử mảng bằng chỉ mục số của nó. Các chỉ mục mảng bắt đầu ở 0. Thêm về .... mảng



Mảng có thể chứa các loại dữ liệu khác nhau Python không?

Các yếu tố của một mảng numpy phải cùng loại, trong khi các yếu tố của danh sách python có thể thuộc loại hoàn toàn khác nhau.the elements of a Python list can be of completely different types.

Một mảng có thể chứa các loại dữ liệu khác nhau không?

Một mảng có thể thuộc bất kỳ kiểu dữ liệu nào, nhưng chỉ có thể giữ một loại dữ liệu.Cụ thể, bạn có thể khai báo một mảng giữ các chuỗi và một mảng chứa số nguyên, nhưng bạn không thể khai báo một mảng duy nhất giữ cả chuỗi và số nguyên.. Specifically, you can declare an array that holds strings and an array that holds integers, but you cannot declare a single array that holds both strings AND integers.

Mảng Numpy có thể giữ các loại dữ liệu khác nhau không?

Mặc dù một danh sách Python có thể chứa các loại dữ liệu khác nhau trong một danh sách duy nhất, tất cả các yếu tố trong một mảng numpy nên đồng nhất.all of the elements in a NumPy array should be homogeneous.

Mảng có thể chứa một nhóm các giá trị thuộc các loại dữ liệu khác nhau không?

Các mảng JavaScript thực sự có thể chứa bất kỳ và tất cả các loại dữ liệu.Một mảng có thể chứa các đối tượng khác (bao gồm các mảng khác) cũng như bất kỳ số lượng giá trị nguyên thủy nào như chuỗi, null và không xác định.. An array may contain other objects (including other arrays) as well as any number of primitive values like strings, null , and undefined .