我希望我的代码循环遍历列表中的每一项,并将其从str转换为int,但它只转换列表的一半,而且顺序不规则。 我的代码:
for item in list:
list.append(int(item))
list.remove(item)
print (list)
例如,如果list是['5','6','3','5','6','2','6','8','5','4','2','8']
决赛将是['6','8',5',4',2',8',3,6,2,6,5,5]
它只转换了一半,而且不整齐。在
我可以用另一种方法来做,但这要长得多,所以我想解决这个问题,并增加我对for循环的了解。在
我对Python的知识和经验很少,所以我很可能不会理解,除非它是真正的基础知识和行话解释。在
你为什么不用这样的东西:
它只是对来自
l
的每个项调用函数int
。 这是doc。在使用list comprehension:
如果不理解列表理解,可以使用简单的
^{pr2}$for
循环:以上两个答案都很好,但为什么你的代码不能工作也应该得到解决。在
首先,在迭代列表时更改列表。这是你不应该做的事。这可能会引起问题,比如你的问题。在
其次,remove方法删除它遇到的符合给定参数的列表中的第一个元素,它也应该小心使用。在
第三,不应该使用list作为变量名。因为它是一个内置类。在
如你所见,没有按预期工作
相关问题 更多 >
编程相关推荐