尝试执行简单循环并在条件为真时插入0,但它不起作用。
你可以帮我解决这个简单的问题谢谢
a_list = [1,2,3]
num = 0
for i in a_list:
if len(str(i)) < 2 :
a_list.insert(i,num)
print(a_list)
a_list must be [01,02,03]
答案 0 :(得分:2)
你缺少缩进,它应该是这样的:
a_list = [1,2,3]
num = 0
for i in a_list:
if len(str(i)) < 2:
a_list.insert(i,num)
print(a_list)
你在逻辑上做错了,你应该替换而不是插入元素,你应该有这样的东西:
a_list = [1,2,3]
num = 0
for i,e in enumerate(a_list):
if len(str(e)) < 2:
a_list[i]='0'+str(e);
print(a_list)
答案 1 :(得分:1)
你弄错了。插入列表时,将项目添加到特定位置(在您的情况下为0)。您想要的输出是操纵当前数据,即更改1 - &gt; 01,2 - &gt; 02.它与[0,1]不一样。
a_list = [1,2,3]
num = 0
for idx, i in enumerate(a_list):
if len(str(i)) < 2:
a_list[idx] = '{:0>2}'.format(i)
print(a_list) # --> ['01', '02', '03']