簡體   English   中英

轉換為所有小數點后的整數(Python)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM