我有一个关于向列表中的现有元素添加新值的问题.例如,如果我有
myList = ["0","12","221","3344"]
Run Code Online (Sandbox Code Playgroud)
我设置了一个条件,如果列表中每个元素的长度小于4,程序将在每个元素的前面添加值"0".也许它应该看起来像这样
newList = ["0000","0012","0221","3344"]
Run Code Online (Sandbox Code Playgroud)
现在我已经完成了一些示例代码,如下所示
x = ["0","1"]
if len(x) < 4:
x.insert(0,"0")
print(x)
Run Code Online (Sandbox Code Playgroud)
输出是这样的
["0","0","1"]
Run Code Online (Sandbox Code Playgroud)
我试图添加/更改一些如下所示的行
x = ["0","1"]
for i in x:
if len(i) < 4:
i.insert(0,"0")
print(x)
Run Code Online (Sandbox Code Playgroud)
但是我得错了
'str' object has no attribute 'insert'.
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么或者还有其他办法吗?谢谢您的回答.
对于在字符串开头添加0的特殊情况,您可以使用zfill:
>>> myList = ["0","12","221","3344"]
>>> [x.zfill(4) for x in myList]
['0000', '0012', '0221', '3344']
Run Code Online (Sandbox Code Playgroud)