[英]Convert to integer with all decimal places (Python)
例:
我的輸入是:
['00','01', '02', '20', '21']
我努力了:
[int(i) for i in Input]
結果是:
[0, 1, 2, 20, 21]
但我希望輸出為:
[00, 01, 02, 20, 21]
如果我使用以下格式進行格式化:
['% 02d'% i for i in Input]
為了得到所有小數位,我的列表變成了字符串,我希望結果列表包含整數
python中的整數不能有前導零。 您可以將這些數字存儲為str
並將它們轉換為int
因為您需要將它們作為整數。
看起來OP希望使用3基數,這些可以從str
轉換為int
如下所示:
>>> print(int('10', base=3))
3
(我不會刪除此部分,因為有與此相關的評論)
前導零的數字文字被視為8基數:
>>> print(013)
11
您不能存儲前導零的整數值:
>>> x = 005
File "<stdin>", line 1
x = 005
^
SyntaxError: invalid token
>>> x = 5
在Python中,就像在大多數編程語言中一樣,整數值用於存儲數字,而不是用於定義以后如何顯示該數字。 前導零僅用於打印目的。
如果您期望對數字進行運算,那么您正在尋找與以下內容類似的內容:
get_tens = lambda val: int(int(val)/10)
get_100s = lambda val: int(int(val)/100)
def main():
vals = ['00', '01', '21', '32', '03']
for i in vals:
print get_tens(i)
# do the operation you want on returned value instead of printing.
print get_100s(i)
# do the operation you want on returned value instead of printing.
if __name__ == "__main__":
main()
請參閱這是否有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.