簡體   English   中英

如何在 python 的字符串數組的開頭添加數字?

[英]How to add digit in the beginning of string array in python?

例如我有這個數組

list=['123', '4', '56']

我想在具有 1 位或 2 位數字的列表數組的開頭添加“0”。 所以 output 將是:

list=['123', '004', '056']

使用zfill方法:

In [1]: '1'.zfill(3)
Out[1]: '001'

In [2]: '12'.zfill(3)
Out[2]: '012'

使用列表推導,我們可以在列表中的每個數字前面加上字符串'00' ,然后只保留最后 3 個字符:

list = ['123', '4', '56']
output = [('00' + x)[-3:] for x in list]
print(output)  # ['123', '004', '056']

根據如何將零填充到字符串? ,你應該使用str.zfill

mylist = ['123', '4', '56']
output = [x.zfill(3) for x in mylist]

或者,你可以(雖然我不知道你為什么會)使用str.rjust

output = [x.rjust(3, "0") for x in mylist]

字符串格式

output = [f"{x:0>3}" for x in mylist]

我想說這將是一個非常容易閱讀的示例,但不是最短的。

基本上,我們遍歷列表元素,檢查長度是 2 還是 1。基於此,我們將添加正確數量的'0'

lst=['123', '4', '56']
new = []
for numString in lst:
    if len(numString) == 2:
        new.append('0'*1+numString)
    elif len(numString) == 1:
        new.append('0'*2+numString)
    else:
        new.append(numString)
print(new)

我也不得不包括它(列表理解)。但這幾乎不可讀,所以我給出了上面的例子。 在此處查找帶有if, elif, else的列表理解

lst=['123', '4', '56']
new = ['0'*1+numString if len(numString) == 2 else '0'*2+numString if len(numString) == 1 else numString  for numString in lst]
print(new)

output

['123', '004', '056']

嘗試進入 integer 並添加前面的零/秒然后轉換為字符串並替換相同 position 和相同列表中的元素

 list=["3","45","111"] n=len(list) for i in range(0,n): list[i] = str(f"{int(list[i]):03}")

您可以在鏈接中查看解決方案

暫無
暫無

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

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