Chuyển đổi chuỗi thành số âm trong Python #
Để chuyển đổi chuỗi thành số âm:
- Sử dụng lớp
0 để chuyển đổi chuỗi thành số nguyên âm.Copied!
my_str = '-137' my_int = int[my_str] print[my_int] # 👉️ -137
- Sử dụng lớp
1 để chuyển đổi một chuỗi thành phao âm.Copied!
my_str = '-137' my_int = int[my_str] print[my_int] # 👉️ -137
Copied!
my_str = '-137' # ✅ convert string to negative integer my_int = int[my_str] print[my_int] # 👉️ -137 # ------------------------- my_str = '-13.7' # ✅ convert string to negative float my_float = float[my_str] print[my_float] # 👉️ 13.7 # ------------------------- my_list = ['-2', '-4', '-6', '-8'] # ✅ convert list of strings to list of negative integers result = [int[item] for item in my_list] print[result] # 👉️ [-2, -4, -6, -8]
Chúng ta có thể sử dụng lớp
0 để chuyển đổi chuỗi thành số âm.Copied!
my_str = '-137' my_int = int[my_str] print[my_int] # 👉️ -137
Lớp INT trả về một đối tượng số nguyên được xây dựng từ số được cung cấp hoặc đối số chuỗi.
Copied!
my_str = '-137' my_int = int[my_str] print[my_int] # 👉️ -137
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 nhận số âm, hãy sử dụng hàm Copied!
3.my_str = '-137'
my_int = int[my_str]
print[my_int] # 👉️ -137
Copied!
my_str = '137' my_int = -abs[int[my_str]] print[my_int] # 👉️ -137
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[-50]] # 👉️ 50 print[abs[50]] # 👉️ 50
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 = '-137' my_int = int[my_str] print[my_int] # 👉️ -137
Nếu bạn cần chuyển đổi một chuỗi thành một bản nổi âm, hãy sử dụng lớp
1.Copied!
my_str = '-137' my_int = int[my_str] print[my_int] # 👉️ -137
Copied!
my_str = '-13.7' my_float = float[my_str] print[my_float] # 👉️ 13.7
Lớp float [] trả về một số điểm nổi được xây dựng từ số hoặc chuỗi được cung cấp.
Nếu bạn cần chuyển đổi danh sách các chuỗi thành danh sách các số âm, hãy sử dụng danh sách hiểu.
Copied!
my_list = ['-2', '-4', '-6', '-8'] result = [int[item] for item in my_list] print[result] # 👉️ [-2, -4, -6, -8]
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
0 và trả về kết quả.Copied!
my_str = '-137' my_int = int[my_str] print[my_int] # 👉️ -137
Danh sách mới chỉ chứa các số nguyên â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