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?
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
ĐọcExamples:
Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 5532890
Bàn luậnApproach #1 : Naive Method Simply iterate each element in the list and print them without space in between.
Python3
____10
array_ = array[[4]]
1 array_ = array[[4]]
2array_ = array[[4]]
3array_ = array[[4]]
4array_ = array[[4]]
5array_ = array[[4]]
4array_ = array[[4]]
7array_ = array[[4]]
8array_ = array[[4]]
9 4.0
0 4.0
1 4.0
2 4.0
3 4.0
4 4.0
5array_ = array[[4]]
1 4.0
7Output:
121517
& nbsp; Cách tiếp cận số 2: Sử dụng tham gia [] Sử dụng phương thức python tham gia []. Đầu tiên chuyển đổi danh sách số nguyên thành một danh sách các chuỗi [AS tham gia [] chỉ hoạt động với các chuỗi]. Sau đó, chỉ cần tham gia chúng bằng phương thức Jop []. Phải mất một độ phức tạp về thời gian của O [n]. & NBSP;Approach #2 : Using join[] Use the join[] method of Python. First convert the list of integer into a list of strings[ as join[] works with strings only]. Then, simply join them using join[] method. It takes a time complexity of O[n].
Python3
4.0
8 4.0
9TypeError: float[] argument must be a string or a number
0TypeError: float[] argument must be a string or a number
1 4.0
3TypeError: float[] argument must be a string or a number
3___ 4.0
3float[np.asarray[list_]]
4array_ = array[[4]]
1 float[np.asarray[list_]]
6float[np.asarray[list_]]
7 4.0
3float[np.asarray[list_]]
9Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328900
TypeError: float[] argument must be a string or a number
0 array_ = array[[4]]
1 array_ = array[[4]]
2Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328904
array_ = array[[4]]
4Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328906__
4.0
41215171
TypeError: float[] argument must be a string or a number
01215173
Output:
123
& nbsp; Cách tiếp cận số 3: Sử dụng Map [] Một cách tiếp cận khác để chuyển đổi danh sách nhiều số nguyên thành một số nguyên là sử dụng hàm map [] của python với hàm str để chuyển đổi danh sách số nguyên thành danh sách chuỗi. Sau đó, hãy tham gia với họ trên chuỗi trống và sau đó quay trở lại Integer. & NBSP;Approach #3 : Using map[] Another approach to convert a list of multiple integers into a single integer is to use map[] function of Python with str function to convert the Integer list to string list. After this, join them on the empty string and then cast back to integer.
Python3
4.0
8 4.0
9TypeError: float[] argument must be a string or a number
0TypeError: float[] argument must be a string or a number
1 4.0
3TypeError: float[] argument must be a string or a number
3___ 4.0
3float[np.asarray[list_]]
4array_ = array[[4]]
1 float[np.asarray[list_]]
6float[np.asarray[list_]]
7TypeError: float[] argument must be a string or a number
0 array_ = array[[4]]
1 array_ = array[[4]]
2Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328904
array_ = array[[4]]
4Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328906__
4.0
41215171
TypeError: float[] argument must be a string or a number
01215173
Output:
123
& nbsp; Cách tiếp cận số 3: Sử dụng Map [] Một cách tiếp cận khác để chuyển đổi danh sách nhiều số nguyên thành một số nguyên là sử dụng hàm map [] của python với hàm str để chuyển đổi danh sách số nguyên thành danh sách chuỗi. Sau đó, hãy tham gia với họ trên chuỗi trống và sau đó quay trở lại Integer. & NBSP;Approach #4 : Multiplying by corresponding power of 10 A more mathematical way, which does not require to convert the integer list to string list is, to multiply each integer element with its corresponding power of 10, and then summing it up. It takes a time complexity of O[n].
Python3
4.0
8 4.0
9TypeError: float[] argument must be a string or a number
0TypeError: float[] argument must be a string or a number
1 4.0
3TypeError: float[] argument must be a string or a number
3___ 4.0
3float[np.asarray[list_]]
9Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328900
TypeError: float[] argument must be a string or a number
0 array_ = array[[4]]
1 array_ = array[[4]]
2Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328904
array_ = array[[4]]
4Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328906__
4.0
41215171
TypeError: float[] argument must be a string or a number
01215173
Output:
123
& nbsp; Cách tiếp cận số 3: Sử dụng Map [] Một cách tiếp cận khác để chuyển đổi danh sách nhiều số nguyên thành một số nguyên là sử dụng hàm map [] của python với hàm str để chuyển đổi danh sách số nguyên thành danh sách chuỗi. Sau đó, hãy tham gia với họ trên chuỗi trống và sau đó quay trở lại Integer. & NBSP;
Python3
array_ = array[[4]]
35array_ = array[[4]]
1array_ = array[[4]]
2Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328904
array_ = array[[4]]
39Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328906
array_ = array[[4]]
39Input : [1, 2, 3] Output : 123 Input : [55, 32, 890] Output : 55328908
array_ = array[[4]]
8 4.0
3float[np.asarray[list_]]
4___ 4.0
4float[np.asarray[list_]]
7 4.0
3float[np.asarray[list_]]
9 1231
Python3
& nbsp; Cách tiếp cận số 4: Nhân với công suất tương ứng của 10 cách toán học hơn, không yêu cầu chuyển đổi danh sách số nguyên thành danh sách chuỗi là, để nhân mỗi phần tử số nguyên với công suất tương ứng là 10, sau đó tổng hợp nó. Phải mất một độ phức tạp về thời gian của O [n]. & NBSP;