我有一个列表,其中包含字符串格式的数字和字母
mylist=['1','orange','2','3','4','apple']
我需要列出一个新的列表,其中只包含数字:
mynewlist=['1','2','3','4']
如果我有办法检查列表中的每个项目是否可以转换为整数,我应该能够通过如下操作得出我想要的结果:
for item in mylist:
if (check item can be converted to integer):
mynewlist.append(item)
如何检查字符串是否可以转换为整数?还是有更好的方法
Tags:
您可以使用异常处理,因为
str.digit
只适用于整数,并且也可能会在类似情况下失败:使用生成器功能:
或者你想要这个:
或者使用
ast.literal_eval
,这将适用于所有类型的数字:试试这个:
从docs开始:
如注释中所述,
isdigit()
返回的True
不一定表示可以通过int()
函数将字符串解析为int,返回的False
不一定表示不能解析。然而,上述方法应该适用于您的情况快速、简单,但可能并不总是正确的:
如果您需要获取数字,请使用更传统的方式:
注意:结果包含整数。如果需要,将它们转换回字符串, 将上面的行替换为:
相关问题 更多 >
编程相关推荐