我想删除字符串(“324a”包括在内),并在列表中只保留整数。这是代码
a = ["345", "sadas", "324a", "14", "john"]
for i in a:
try:
if i == int(i):
continue
except ValueError:
a.remove(i)
print(a)
使用此代码,输出为
['345', '324a', '14']
即使“324a”不是整数,并且代码应该返回ValueError,但代码仍然不会将其从列表中删除
下面是另一个简单代码,显示“324a”不是整数
a = "324a"
a = int(a)
print(a)
上述代码的输出
a = int(a)
ValueError: invalid literal for int() with base 10: '324a'
提前感谢您的回答
您可以使用如下简单的列表理解:
这将创建一个包含所有数字的列表
这与您在遍历列表时对列表进行变异有关
查看下面的代码并查看打印的索引…您删除了索引1处的
sadas
,现在将324a
保留在索引1处,但循环无法识别值更改,因此在迭代过程中不会重复索引1两次试试-
相关问题 更多 >
编程相关推荐