如何在列表中的每个元素前添加新值?

Lin*_*ing 2 python list

我有一个关于向列表中的现有元素添加新值的问题.例如,如果我有

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)

我在这里错过了什么或者还有其他办法吗?谢谢您的回答.

DSM*_*DSM 6

对于在字符串开头添加0的特殊情况,您可以使用zfill:

>>> myList = ["0","12","221","3344"]
>>> [x.zfill(4) for x in myList]
['0000', '0012', '0221', '3344']
Run Code Online (Sandbox Code Playgroud)