python - 如果条件为带有数字和字符串的数组
问题描述
我有一个包含数字和字符串的数组。我想在循环和 If 条件的帮助下创建仅包含特定数据的结果数组,但我在数据类型定义方面遇到问题。我不能将数组定义为 int,因为我也有 str 数据。
result = []
Data = ['5','10','NA','15']
for i in range(0, len(Data)):
if Data[i] > 10 or Data[i] =="NA":
result.append(Data[i])
我收到这样的错误:
类型错误:“str”和“int”的实例之间不支持“>”
ValueError:int() 的无效文字,基数为 10:'NA'
解决方案
您可以检查字符串是否为数字,然后使用其 int 形式进行比较。
result = []
Data = ['5','10','NA','15']
for i in range(0, len(Data)):
if (Data[i].isdigit() and int(Data[i]) > 10) or Data[i] =="NA":
result.append(Data[i])
print(result) # outputs ['NA', '15']
推荐阅读
- jsp - 本地主机上的 Tomcat v9.0 服务器无法在 Eclipse 中启动
- c# - 使用 LINQ 的嵌套列表索引
- tabs - C++、MFC MDI、激活特定选项卡
- php - 在linux上使用php检查服务状态?
- css - 如何使用 Laravel Mix 将版本号添加到路径中?
- tesseract - 为什么要使用 RecursiveParserWrapper 而不是 Parser 来从图像中提取文本?
- android - 无法使用 firebase-config:16.0.0 和 firebase-core:16.0.1 构建
- wordpress - 如何将类别的默认值添加到 wordpress 中的自定义帖子?
- html - 从输入到其他组件的Angular6数据
- css - 在 CSS 中使用标题中的特殊格式缩进