Tôi có một chức năng có thể chấp nhận một danh sách hoặc một mảng numpy.
Trong cả hai trường hợp, danh sách/mảng có một phần tử duy nhất [luôn luôn]. Tôi chỉ cần trả lại một chiếc phao.
Vì vậy, ví dụ: tôi có thể nhận được:
list_ = [4]
hoặc mảng numpy:
array_ = array[[4]]
Và tôi nên trở lại
4.0
Vì vậy, một cách tự nhiên [tôi sẽ nói], tôi sử dụng float [...] trên list_ và nhận:
TypeError: float[] argument must be a string or a number
Tôi làm tương tự với Array_ và lần này nó hoạt động bằng cách trả lời với "4.0". Từ đó, tôi biết rằng danh sách của Python không thể được chuyển đổi thành nổi theo cách này.
Dựa trên sự thành công với chuyển đổi mảng numpy để nổi lên điều này dẫn tôi đến cách tiếp cận:
float[np.asarray[list_]]
Và điều này hoạt động khi List_ vừa là danh sách Python và khi nó là một mảng numpy.
Câu hỏi
Nhưng có vẻ như cách tiếp cận này có một chi phí đầu tiên chuyển đổi danh sách thành một mảng numpy và sau đó nổi. Về cơ bản: có cách nào tốt hơn để làm điều này?
Giới thiệu
Với Numpy, các đối tượng
array_ = array[[4]]
3 có thể được chuyển đổi thành danh sách với hàm array_ = array[[4]]
4. Hàm array_ = array[[4]]
4 không chấp nhận bất kỳ đối số nào. Nếu mảng là một chiều, một danh sách với các phần tử mảng được trả về. Đối với một mảng đa chiều, một danh sách lồng nhau được trả về.Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn sẽ cần:
- Làm quen với việc cài đặt Python 3 và sử dụng
6 để cài đặt các gói. Và quen thuộc với mã hóa trong Python. Cách viết mã trong Python 3 Series hoặc sử dụng mã VS cho Python.array_ = array[[4]]
Hướng dẫn này đã được thử nghiệm với Python 3.9.6 và Numpy 1.23.3.
Chuyển đổi mảng numpy một chiều thành danh sách
Hãy để xây dựng một mảng một chiều của
array_ = array[[4]]
7:import numpy as np
# 1d array to list
arr_1 = np.array[[1, 2, 3]]
print[f'NumPy Array:\n{arr_1}']
Mã này sẽ xuất ra:
NumPy Array:
[1 2 3]
Bây giờ, hãy để sử dụng
array_ = array[[4]]
4:import numpy as np
# 1d array to list
arr_1 = np.array[[1, 2, 3]]
print[f'NumPy Array:\n{arr_1}']
list_1 = arr_1.tolist[]
print[f'List: {list_1}']
Mã mới này sẽ xuất ra:
List: [1, 2, 3]
Mảng đã được chuyển đổi từ vô hướng
array_ = array[[4]]
9 sang vô hướng Python.Chuyển đổi mảng numpy đa chiều thành danh sách
Hãy để xây dựng một mảng đa chiều của
4.0
0:import numpy as np
# 2d array to list
arr_2 = np.array[[[1, 2, 3], [4, 5, 6]]]
print[f'NumPy Array:\n{arr_2}']
Mã này sẽ xuất ra:
array_ = array[[4]]
0Bây giờ, hãy để sử dụng
array_ = array[[4]]
4:array_ = array[[4]]
1Mã mới này sẽ xuất ra:
array_ = array[[4]]
2Mảng đã được chuyển đổi từ vô hướng
array_ = array[[4]]
9 sang vô hướng Python.Chuyển đổi mảng numpy đa chiều thành danh sách
Hãy để xây dựng một mảng đa chiều của
4.0
0:Sự kết luận
- Trong bài viết này, bạn đã học cách sử dụng
4 để chuyển đổi các đối tượngarray_ = array[[4]]
3 thành danh sách. Nó được áp dụng cho các mảng một chiều và đa chiều.array_ = array[[4]]