簡體   English   中英

將前導零添加到Python中的數字列表中

[英]add leading zeros to a list of numbers in Python

我是Python的新手。 我正在嘗試調整列表的格式,如下所示:

data=[1,10,313,4000,51234,123456]

我想將它們轉換為帶有前導零的字符串列表:

result=['000001','000010','000313','004000','051234','123456']

每個元素有6位數。

我知道單個數字X,我可以這樣做:

str(X).zfill(6)

但我不知道如何將其應用於列表。 我想在不使用for循環的情況下解決這個問題。

有人可以幫忙嗎? 謝謝。

列表 zfill應用相同的zfill函數,如下所示

>>> [str(item).zfill(6) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']

或者,您可以使用字符串的format方法, 格式說明符 ,如下所示

>>> ["{:06d}".format(item) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']

如果您要更頻繁地進行格式化,那么您可以將其存儲在變量中,如下所示

>>> formatter = "{:06d}".format
>>> [formatter(item) for item in data]
['000001', '000010', '000313', '004000', '051234', '123456']

如果您使用的是Python 2.x,那么您可以使用mapformatter函數,就像這樣

>>> map(formatter, data)
['000001', '000010', '000313', '004000', '051234', '123456']

如果您使用的是Python 3.x, map將返回一個可迭代的map對象。 因此,您需要顯式創建一個列表,如下所示

>>> list(map(formatter, data))
['000001', '000010', '000313', '004000', '051234', '123456']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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