Tôi có câu hỏi về sự khác biệt giữa việc chỉ sử dụng max(list array) và np.max(list array).
Sự khác biệt duy nhất ở đây có phải là thời gian để Python trả lại mã không?
Chúng có thể khác nhau trong các trường hợp đặc biệt, chẳng hạn như danh sách chứa NaN.
nhập numpy dưới dạng np
a = max([2, 4, np.nan]) # 4
b = np.max([2, 4, np.nan]) # nan
NumPy truyền bá NaN trong trường hợp này, trong khi Python max
Hành vi ít chắc chắn hơn.
Ngoài ra còn có một số vấn đề tế nhị liên quan đến kiểu dữ liệu:
a = max([10**n for n in range(20)]) # a là số nguyên
b = np.max([10**n for n in range(20)]) # b là float
Tất nhiên, sự khác biệt về thời gian chạy được ghi lại trong numpy.max hay max? Cái nào nhanh hơn? 中
Thông thường, bạn nên sử dụng max
, sử dụng cho mảng NumPy np.max
để giảm thiểu số lượng những điều bất ngờ. Ví dụ, ví dụ thứ hai của tôi không thực sự về np.max
, nhưng về chuyển đổi kiểu dữ liệu: sử dụng np.max
, trước tiên hãy chuyển đổi danh sách thành mảng NumPy, nhưng10**19
Các phần tử như quá lớn để được biểu thị bằng kiểu số nguyên NumPy, vì vậy chúng trở thành số float.
Tôi là một lập trình viên xuất sắc, rất giỏi!