Để giải thích tại sao những gì bạn cố gắng không hoạt động,
n.split[] for n in '1234.12'
có hiệu quả tương đương với
for n in '1234.12':
n.split[]
Khi bạn lặp lại một chuỗi như vậy, cuối cùng bạn sẽ nhận được các ký tự riêng lẻ, vì vậy chúng tôi cũng có thể nói điều đó tương đương với:
for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
Vì vậy, vì
for n in '1234.12':
n.split[]
7 chỉ được cung cấp một ký tự duy nhất tại một thời điểm, nó không hoạt động. Bạn muốn di chuyển phần chia cho chính chuỗi:n for n in '1234.12'.split[]
Tại thời điểm đó bạn không cần sự hiểu biết nữa.
'1234.12'.split[]
Phần cuối cùng đã được giải thích ở nơi khác ...
for n in '1234.12':
n.split[]
7, theo mặc định, chia tách trên Whitespace, vì vậy để bảo nó chia trong một khoảng thời gian thay thế: thay vào đó:'1234.12'.split['.']
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
Đọc
Method #1 : Using loop + float[]
This is brute force method in which this task can be performed. In this, we iterate for each element and break in chunks of 4 and skip to every 5th element and perform split and store in
list. The conversation from string to float is done using float[].
Python3
Bàn luận
Đôi khi, trong khi làm việc với các ngôn ngữ kế thừa, chúng ta có thể có một số vấn đề nhất định. Một cái như vậy có thể làm việc với Fortran có thể cung cấp đầu ra văn bản [không có khoảng trống, được yêu cầu] ‘12 .4567.23. Trong đó, thực sự có hai số điểm nổi riêng biệt nhưng được nối. Chúng ta có thể có vấn đề trong đó chúng ta cần tách chúng ra. Hãy thảo luận về một số cách nhất định trong đó nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi lặp lại cho từng yếu tố và phá vỡ các khối 4 và bỏ qua mỗi yếu tố thứ 5 và thực hiện chia tách và lưu trữ trong danh sách. Cuộc trò chuyện từ chuỗi đến float được thực hiện bằng float []. & Nbsp;
for n in '1234.12':
n.split[]
9for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
0 for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
1for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
2for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
3for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
4 for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
5 for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
6for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
7for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
0 for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
9n for n in '1234.12'.split[]
0 n for n in '1234.12'.split[]
1n for n in '1234.12'.split[]
2 n for n in '1234.12'.split[]
3for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
3n for n in '1234.12'.split[]
5n for n in '1234.12'.split[]
6n for n in '1234.12'.split[]
7n for n in '1234.12'.split[]
8n for n in '1234.12'.split[]
9'1234.12'.split[]
0
1'1234.12'.split[]
2'1234.12'.split[]
3'1234.12'.split[]
4'1234.12'.split[]
5 for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
9n for n in '1234.12'.split[]
7'1234.12'.split[]
The original string is : 45.6778.4524.45 The float list is : [45.67, 78.45, 24.45]
for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
2for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
3'1234.12'.split['.']
0 for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
5 '1234.12'.split['.']
2'1234.12'.split['.']
3Method #2 : Using list comprehension + float[]
This is shorthand way to solve this problem. This is similar to above function. The difference is that we perform all loop task in single line using list comprehension.
Python3
Bàn luận
Đôi khi, trong khi làm việc với các ngôn ngữ kế thừa, chúng ta có thể có một số vấn đề nhất định. Một cái như vậy có thể làm việc với Fortran có thể cung cấp đầu ra văn bản [không có khoảng trống, được yêu cầu] ‘12 .4567.23. Trong đó, thực sự có hai số điểm nổi riêng biệt nhưng được nối. Chúng ta có thể có vấn đề trong đó chúng ta cần tách chúng ra. Hãy thảo luận về một số cách nhất định trong đó nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi lặp lại cho từng yếu tố và phá vỡ các khối 4 và bỏ qua mỗi yếu tố thứ 5 và thực hiện chia tách và lưu trữ trong danh sách. Cuộc trò chuyện từ chuỗi đến float được thực hiện bằng float []. & Nbsp;
for n in '1234.12':
n.split[]
9for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
0 for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
1n for n in '1234.12'.split[]
0 n for n in '1234.12'.split[]
1n for n in '1234.12'.split[]
2 n for n in '1234.12'.split[]
3for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
3n for n in '1234.12'.split[]
5n for n in '1234.12'.split[]
6n for n in '1234.12'.split[]
7n for n in '1234.12'.split[]
8n for n in '1234.12'.split[]
9'1234.12'.split[]
0
1'1234.12'.split[]
2'1234.12'.split[]
3'1234.12'.split[]
4'1234.12'.split[]
5 for n in ['1', '2', '3', '4', '.', '1', '2']:
n.split[]
9n for n in '1234.12'.split[]
7'1234.12'.split[]
The original string is : 45.6778.4524.45 The float list is : [45.67, 78.45, 24.45]
Chia một số thành các phần số nguyên và thập phân trong Python #
Sử dụng phương thức Copied! Copied! Copied!
7 để chia một số thành các phần số nguyên và thập phân, ví dụ: import math
my_num = 1.3588
# ✅ split number into integer and decimal parts
result = math.modf[my_num]
print[result] # 👉️ [0.3588, 1.0]
print[result[0]] # 👉️ 0.3588
print[result[1]] # 👉️ 1.0
# ✅ unpack decimal and integer values
dec, integer = result
print[dec] # 👉️ 0.3588
print[integer] # 👉️ 1.0
8. Phương pháp import math
my_num = 1.3588
# ✅ split number into integer and decimal parts
result = math.modf[my_num]
print[result] # 👉️ [0.3588, 1.0]
print[result[0]] # 👉️ 0.3588
print[result[1]] # 👉️ 1.0
# ✅ unpack decimal and integer values
dec, integer = result
print[dec] # 👉️ 0.3588
print[integer] # 👉️ 1.0
7 trả về các phần phân số và số nguyên của số được cung cấp.import math
my_num = 1.3588
# ✅ split number into integer and decimal parts
result = math.modf[my_num]
print[result] # 👉️ [0.3588, 1.0]
print[result[0]] # 👉️ 0.3588
print[result[1]] # 👉️ 1.0
# ✅ unpack decimal and integer values
dec, integer = result
print[dec] # 👉️ 0.3588
print[integer] # 👉️ 1.0
________số 8
Chúng tôi đã sử dụng phương pháp
7 để chia một số thành các phần số nguyên và thập phân.Copied!
import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0
Phương thức Math.modf trả về các phần phân số và số nguyên của số được cung cấp.
Các phần phân số và số nguyên mang dấu hiệu của số được cung cấp và là phao.
Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
Lưu ý rằng cả hai giá trị trong
1 đều nổi.Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
Nếu bạn cần chuyển đổi phần tử Tuple thứ hai thành số nguyên, hãy sử dụng lớp
2.Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
for n in '1234.12':
n.split[]
0Ngoài ra, bạn có thể sử dụng nhà điều hành
3 và phân chia sànCopied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
4.Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
Để chia một số thành các phần số nguyên và thập phân:
- Sử dụng phân chia sàn để có được phần số nguyên của số bằng cách chia cho
5, ví dụ:Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
6.Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
- Sử dụng toán tử modulo
3 để có được phần phân đoạn bằng cách nhận phần còn lại sau khi chia choCopied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
5, ví dụ:Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
9.Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
for n in '1234.12':
n.split[]
1Toán tử modulo [%] trả về phần còn lại từ sự phân chia giá trị thứ nhất cho phần thứ hai.
Khi chúng tôi sử dụng toán tử modulo để chia một số cho
5, phần còn lại là phần phân số.Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
for n in '1234.12':
n.split[]
2Bạn có thể sử dụng phân chia sàn để có được phần số nguyên của một số.
for n in '1234.12':
n.split[]
3Kết quả của việc sử dụng toán tử phân chia sàn Copied!
4 là của một bộ phận toán học với hàm import math
my_num = -1.3588
result = math.modf[my_num]
print[result] # 👉️ [-0.3588, -1.0]
print[result[0]] # 👉️ -0.3588
print[result[1]] # 👉️ -1.0
# ✅ unpack decimal and integer values
dec, integer = result
print[dec] # 👉️ -0.3588
print[integer] # 👉️ -1.0
02 được áp dụng cho kết quả.for n in '1234.12':
n.split[]
Chia một số cho
5 và làm tròn xuống, cung cấp cho chúng ta phần số nguyên của số.Copied!
import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
Tuy nhiên, nếu bạn quyết định sử dụng phương pháp này, lưu ý rằng nó không xử lý các số âm như bạn mong đợi.
for n in '1234.12':
n.split[]
4Nếu bạn phải xử lý các số âm, hãy sử dụng phương thức
7 thay thế.Copied!
import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0
Bạn cũng có thể thấy các ví dụ trực tuyến sử dụng chức năng
for n in '1234.12':
n.split[]
05. Tuy nhiên, lưu ý rằng for n in '1234.12':
n.split[]
05 cũng không xử lý các số âm theo cách bạn mong đợi.for n in '1234.12':
n.split[]
5Hàm Divmod có hai số và trả về một tuple chứa 2 giá trị:
- Kết quả của việc chia đối số thứ nhất cho thứ hai.
- Phần còn lại từ việc chia đối số đầu tiên cho phần thứ hai.
Tuy nhiên, hàm
for n in '1234.12':
n.split[]
05 cũng không xử lý các số âm theo cách phù hợp với trường hợp sử dụng của chúng tôi.for n in '1234.12':
n.split[]
6Vì lý do này, bạn nên sử dụng phương thức
7 khi bạn phải chia một số thành các phần số nguyên và thập phân.Copied!
import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0