Chuyển đổi một chuỗi thành một chiếc phao âm trong Python #
Sử dụng lớp Copied!float[]
để chuyển đổi chuỗi thành phao âm, ví dụ:
0. Lớp my_str = '-3.14'
my_float = float[my_str]
print[my_float] # 👉️ -3.14
float[]
trả về một số điểm nổi được xây dựng từ số được cung cấp hoặc đối số chuỗi.
Copied!
my_str = '-3.14' # ✅ Convert string to a negative float my_float = float[my_str] print[my_float] # 👉️ -3.14 # --------------------------------------- # ✅ Convert a list of strings to a list of negative floats my_list = ['-1.2', '-3.4', '-5.6'] new_list = [float[item] for item in my_list] print[new_list] # 👉️ [-1.2, -3.4, -5.6]
Chúng ta có thể sử dụng lớp float[]
để chuyển đổi một chuỗi thành phao âm.
Copied!
my_str = '-3.14' my_float = float[my_str] print[my_float] # 👉️ -3.14
Nếu chuỗi của bạn có thể lưu trữ một số dương và bạn luôn cần có một bản nổi âm, hãy sử dụng hàm Copied!
3.my_str = '-3.14'
my_float = float[my_str]
print[my_float] # 👉️ -3.14
Copied!
my_str = '3.14' my_float = -abs[float[my_str]] print[my_float] # 👉️ -3.14
Hàm ABS trả về giá trị tuyệt đối của một số.
Nói cách khác, nếu số là dương, số được trả về và nếu số là âm, thì phủ định của số được trả về.
Copied!
print[abs[-14.2]] # 👉️ 14.2 print[abs[14.2]] # 👉️ 14.2
Bằng cách tiền tố đầu ra của
3 với dấu trừ, chúng tôi được đảm bảo để có được số âm.Copied!
my_str = '-3.14' my_float = float[my_str] print[my_float] # 👉️ -3.14
Nếu bạn cần chuyển đổi danh sách các chuỗi thành danh sách các số điểm nổi âm, hãy sử dụng danh sách hiểu.
Copied!
my_list = ['-1.2', '-3.4', '-5.6'] new_list = [float[item] for item in my_list] print[new_list] # 👉️ [-1.2, -3.4, -5.6]
Chúng tôi đã sử dụng một danh sách hiểu để lặp lại trong danh sách các chuỗi.
Danh sách các hệ thống được sử dụng để thực hiện một số hoạt động cho mọi yếu tố hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.
Trên mỗi lần lặp, chúng tôi chuyển chuỗi đến lớp float[]
và trả về kết quả.
Danh sách mới chỉ chứa các số điểm nổi âm.
Tôi đã gặp phải vấn đề này trong thuộc tính văn bản matplotlib Xticklabels. Các dấu trừ cho các số âm được mã hóa dưới dạng "trừ":
[ -] là một điểm trừ [Unicode 2212].
Trừ: [& trừ]; A.K.A. [−]; A.K.A. [−];
//en.wikipedia.org/wiki/Wikipedia:Hyphens_and_dashes
Python dường như mã hóa các khoản trừ là 'hyphen-minus', Unicode 002D:
[-] là một dấu gạch nối [bàn phím ASCII, Unicode 002D]
Bạch cầu trừ: [-]; A.K.A. [-];
Đây là một ví dụ:
>> import matplotlib.pyplot as plt
>> import re
>> x = [0,1,2,3,4,5]
>> y = [0,1,2,1,2,1]
>> fig,ax = plt.subplots[1]
>> plt.plot[x,y]
Nếu chúng ta cố gắng để có được tại Xticklabels, nếu chúng ta muốn chỉnh sửa chúng theo cách thủ công, chúng ta sẽ sử dụng:
>> l = ax.get_xticklabels[]
>> ticks = [i.get_text[] for i in l]
>> print[ticks]
['−1', '0', '1', '2', '3', '4', '5', '6']
>> ord[ticks[0]]
8722
Cố gắng chuyển đổi nó thành một số nguyên:
>> l = ax.get_xticklabels[]
>> ticks = [int[i.get_text[]] for i in l]
ValueError: invalid literal for int[] with base 10: '−1'
Đây là lỗi tương tự như trong câu hỏi, điều này rất khó để người khác tái tạo. Để sửa nó, hãy sử dụng các biểu thức thông thường:
ticks = [int[re.sub[u"\u2212", "-", i.get_text[]]] for i in l]
print[ticks]
print[ticks[0] - 1]
[-1, 0, 1, 2, 3, 4, 5, 6]
-2
>> ord[ticks[0]]
45