检查 Python 列表中的项目是否为 int/number

2024-04-04

我有一个 Python 脚本,它读取 .csv 文件并将每个值存储到列表列表中:list[x][y]。我对此没有任何问题。

list = []
i = 0

for row in reader:
     list.append([])
     list[i].append(row[0])
     ...
     i += 1

我想检查这些字段之一,看看它是否是一个数字(整数)。

当我执行一个print type(list[i][0])它返回一个<type 'str'>即使该值是 100。

下面的 if 语句位于for循环遍历列表,所以我想做的是进行检查:

if type(list[i][0] == types.IntType):
     True
else: 
     False

这是可行的,但是在 PEP8 中这是不受欢迎的,所以我应该使用isinstance(),因此我将其修改为

# check if a value is entered
if list[i][0] != '':
    if isinstance(int(list[i][0]), int):
        True
    else: 
        False
else
    False 

但我遇到了尝试将字符串转换为 int 的问题(如果用户输入字符串)。

我该如何克服这个问题?这似乎是一个简单的问题,但我是 Python 新手,所以我想知道一种简洁有效的方法来处理这个问题。在将值存储到列表之前,我应该检查该值是否为 int 吗?

我正在使用Python2。

Thanks

编辑:我已经包装了isinstance()检查 try 异常捕获,但是我觉得我不应该仅仅为了检查某些东西是否是 int 而诉诸于此?只是好奇是否有更简洁的方法来做到这一点。

编辑:我用过isdigit正如前面提到的,但是我得到了负面结果。

即给定这个数据集。列表[0][0] = 123,列表[1][0] = asdasd

for i in range(0, 1):
   if (list[i][0]).isdigit:
       tempInt = list[i][0]
       print type(tempInt)
       print 'True: ' + tempInt
   else: 
       tempInt = 1
       print 'False: ' + tempInt

Results:

<type 'str'>
True: 123
<type 'str'>
True: asdasd

你可以用这个来检查 - 这适用于所有数字(正整数、负整数、浮点数、Nan),仅适用于int或某些子类,可能存在更好的方法。

def is_number(a):
    # will be True also for 'NaN'
    try:
        number = float(a)
        return True
    except ValueError:
        return False

从表面上看,它看起来并不好。但我认为如果你想考虑所有数字(负数、浮点数、整数、无穷大等),这可能是最好的方法,你可以看到高度关注/投票的问题/答案here https://stackoverflow.com/questions/354038/how-do-i-check-if-a-string-is-a-number-float-in-python。另请注意isdigit并非在所有情况下都有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 Python 列表中的项目是否为 int/number 的相关文章

  • 如何检查当前日期并移至下一个日期

    我遇到了一个我似乎无法理解的 python 问题 不确定是否需要使用 if 语句 但因为我是 python 新手 所以我实际上不确定如何编写这个小问题 事实上 这就是我遇到的问题 对于出发日历 我希望 python 能够执行以下操作 查看
  • 将预训练的手套词嵌入与 scikit-learn 结合使用

    我已经使用 keras 来使用预先训练的词嵌入 但我不太确定如何在 scikit learn 模型上执行此操作 我也需要在 sklearn 中执行此操作 因为我正在使用vecstack集成 keras 序列模型和 sklearn 模型 这就
  • API网关+Lambda+Python:处理异常

    我正在非代理模式下从 API Gateway 调用基于 Python 的 AWS Lambda 方法 我应该如何正确处理异常 以便使用部分异常设置适当的 HTTP 状态代码以及 JSON 正文 作为示例 我有以下处理程序 def my ha
  • 使用记事本打开文本文件作为python中的帮助文件?

    我想为我的简单程序的用户提供打开帮助文件的机会 以指导他们如何充分利用我的程序 理想情况下 我希望在 GUI 上有一个蓝色的小帮助链接 可以随时单击该链接 从而在本机文本编辑器 例如记事本 中打开 txt 文件 有没有一种简单的方法可以做到
  • 每个刻度标签都有不同的颜色

    我正在尝试使用 matplotlib python 3 5 创建一个散点图 其中 x 轴上的每个刻度都有不同的颜色 这怎么可能 例如 假设 x 刻度为 Mo Tu We Th Fr Sa Su 现在我希望 Mo 是绿色的 Tu 是蓝色的 等
  • Python gdal 未定义符号 GDALRasterBandGetVirtualMem

    我正在尝试使用Python GDAL 绑定 https pypi python org pypi GDAL 通过 pip 天真地安装绑定时 安装失败并显示错误 VSIFTruncateL 未在此范围内声明 https gis stackex
  • 导入 scipy.stats 时,出现“ImportError: DLL load failed: 找不到指定的过程”

    我无法导入 scipy stats 并收到以下错误 但不知何故 import scipy as sp 仍然可以正常工作 其他库如numpy pandas都可以毫无问题地导入 我尝试在 Anaconda 中重新安装 scipy 1 2 1 降
  • 在我的 Mac 上以 root 身份运行 pip 时出现“权限被拒绝”

    我开始使用我的 Mac 来安装 Python 包 就像我在工作中使用 Windows PC 一样 然而在我的 Mac 上我经常遇到没有权限写入日志文件或站点包时出错 于是我想到了跑步pip install
  • 将 pandas 多索引数据帧转换为嵌套字典

    我有一个 pandas 多索引数据框 我试图将其输出为嵌套字典 create the dataset data clump thickness 0 0 274 0 0 1 19 0 1 0 67 0 1 1 12 0 2 0 83 0 2
  • Django - 该进程无法访问该文件,因为该文件正在被另一个进程使用

    我正在尝试在 Windows 10 上运行 Django 我是 Django 的新手 我正在使用 Compressor Toolkit 我的问题是 我可以运行 manage py 但本地主机说 base html 第 9 行出错该进程无法访
  • 有效地写入 pandas 中的多个相邻列

    使用 numpy ndarray 可以一次写入多个列 而无需先进行复制 只要它们相邻 如果我想写入数组的前三列 我会写 a 0 0 3 1 2 3 this is very fast a is a numpy ndarray 我希望在 pa
  • Tkinter:通过多处理启动进程会创建不需要的新窗口

    我计划围绕数值模拟编写一个小型 GUI 这就是我现在使用 Tkinter 的原因 模拟应在单独的进程中从 GUI 启动 为了玩一下 我定义了一个函数 random process 来生成成对的 randn 数字 这应该是一个真正的模拟过程
  • 将 Selenium 与 PyCharm CE 结合使用

    我正在尝试将 Selenium 与 PyCharm CE 一起使用 我已经使用 pip install Selenium 安装了 Selenium 并且可以通过终端使用它 但是当我尝试将它与 PyCharm 一起使用时 出现导入错误 Imp
  • 我无法设置顶级标题

    我想为 TopLevel 设置标题 但 TopLevel 显示 Root 的标题 我认为我的下一个脚本与 TkInter 文档中的示例相对应 但给了我不好的结果 你能解释一下 为什么我的设置master title 顶部 in 应用程序顶部
  • 如何在Python中获取套接字的外部IP?

    当我打电话时socket getsockname 在套接字对象上 它返回我的机器的内部 IP 和端口的元组 但是 我想找回我的外部IP 最便宜 最有效的方式是什么 如果没有外部服务器的配合 这是不可能的 因为您和另一台计算机之间可能存在任意
  • Python 用静态图像将 mp3 转换为 mp4

    我有x文件包含一个列表mp3我想转换的文件mp3文件至mp4文件带有static png photo 似乎这里唯一的方法是使用ffmpeg但我不知道如何实现它 我编写了脚本来接受输入mp3文件夹和一个 png photo 然后它将创建新文件
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 将索引数组转换为 NumPy 中的 one-hot 编码数组

    给定一个一维索引数组 a array 1 0 3 我想将其一次性编码为二维数组 b array 0 1 0 0 1 0 0 0 0 0 0 1 创建归零数组b有足够的列 即a max 1 然后 对于每一行i 设置a i 第 列 至1 gt
  • 访问 Scrapy 内的 django 模型

    是否可以在 Scrapy 管道内访问我的 django 模型 以便我可以将抓取的数据直接保存到我的模型中 我见过this https scrapy readthedocs org en latest topics djangoitem ht
  • Pandas:如何删除以 nan 作为列名的多个列?

    根据标题 这是一个可重现的示例 raw data x this that this that this np nan np nan np nan np nan np nan np nan y np nan np nan np nan np

随机推荐

  • 彩色 xtrace 输出

    我有一个 sh 脚本 它使用set o xtrace打印以下所有命令 我想为这些命令着色 我尝试像这样使用 PS4 变量 export PS4 e 36m e m 但这只是颜色 角色 如果我省略 e m 我的完整输出和执行程序的输出是彩色的
  • 类型“JQuery”上不存在属性“slick”

    我有一个想要使用的 Angular 6 项目光滑的滑块 http kenwheeler github io slick 和 首先我安装了 jQuery npm 我jquery 然后是光滑的旋转木马 npm 我光滑的轮播 然后我对 angul
  • 插入带有 firefox 扩展名的本地 css 文件

    我正在构建一个 Firefox 扩展 需要在文档中插入一些元素和 css 我尝试以下Firefox 扩展如何将本地 css 文件注入网页 https stackoverflow com questions 2731736 how can a
  • 以编程方式将EnvironmentProperty设置为ChromeDriver

    我正在无头中使用 SE2 和 firefoxDriver 运行测试 环境 Xvfb 使用 FirefoxDriver 我可以非常设置 DISPLAY 环境属性 容易地 FirefoxBinary firefox new FirefoxBin
  • 如何从可视化中删除 D3 链接文本

    当单击力定向可视化中的节点时 任何子节点 及其关联的链接 都会打开 关闭 但是 当删除其关联的子节点和链接时 充当这些链接标签的文本不会被删除 见下文 这是代码的相关部分 最后一行 linkText exit remove 是我删除这些标签
  • Gradle 构建 null 控制台对象

    我正在尝试使用堆栈溢出中的示例让我的 gradle 构建在控制台提示输入密码 当我有这样的陈述时 def password System console readLine Enter keystore password 当我运行时出现错误
  • 如何在 Blackberry Storm 中设置抗锯齿?

    我正在绘制位图 例如 bitmap i new Bitmap 60 60 Graphics g new Graphics bitmap i g setColor Color BLACK g drawLine 现在如何在 g drawLine
  • 使用无符号索引执行反向“for”循环的最佳方法是什么?

    我的第一次尝试反向for循环做某事 n 次是这样的 for unsigned int i n 1 i gt 0 i This fails因为在无符号算术 i保证始终大于或等于零 因此循环条件始终为真 幸运的是 在我不得不想知道为什么循环无限
  • 如何在php中将数组存储到会话变量中

    从问题表中返回10个问题 result mysqli query con SELECT question FROM questions ORDER BY rand LIMIT 10 while row mysqli fetch row re
  • Python - 描述符“split”需要“str”对象,但收到“unicode”

    呃 我有现成的代码 并且我确信它确实有效 但我收到以下错误 类型错误 描述符 split 需要 str 对象 但收到了 统一码 这就是整个定义 def assemblePacket self type ipSplit str split s
  • 将图像加载到文件流

    我正在使用加载图像 OpenFileDialog open new OpenFileDialog 选择文件后 打开 会填充多个项目 包括路径 现在我想将文件加载到文件流 或类似的东西 中以通过网络服务发送 这可能吗 thanks 您可以使用
  • 如何在不使用继承的情况下向控制器添加常见操作?

    我需要在不使用继承的情况下向多个控制器添加常见操作 我们所有的控制器都扩展了抽象控制器 而我想要包含的功能在抽象控制器中没有意义 我最初的想法是使用 Mixin 但看起来动作 因为它们是闭包 并没有 混合 到包含 mixin 的控制器中 只
  • C++ 如何断言向量中的所有 std::shared_ptr 都引用某些东西

    当我有一个函数接收一个应该引用某些东西的 智能 指针时 我总是按如下方式开始 class Foo void doSomething const std shared ptr
  • Python 如何获取某一特定点的导数值?

    from sympy import x Symbol x y x 2 dx diff y x 这段代码可以得到y的导数 这很容易dx 2 x 现在我想得到的值dx for x 2 清楚地 dx 2 2 4 when x 2 但是我如何用Py
  • 使用 gdi+ 将 png 转换为 gif (C#)

    我有一个 png 文件 必须将其转换为 gif 文件 里面有一个透明的部分 当我保存它时 透明的部分是黑色的而不是透明的 这是我的代码 FileStream imgStream new FileStream outputFile FileM
  • 关于Python中的关闭文件

    我知道如果在 Python 中不再使用的话 使用 close 来关闭文件是一个好习惯 我尝试打开大量打开的文件 并且不关闭它们 在同一个Python进程中 但没有看到任何异常或错误 Mac 和 Linux 我都试过了 那么 只是想知道Pyt
  • 如何根据当前用户的角色显示或隐藏 aspx 页面的内容

    我有一个 ASP NET 站点 其中每个页面都有一些内容 每个登录用户都有一些特定的角色 我想根据登录用户的角色隐藏和显示页面内容 我怎样才能做到这一点 P S 我了解 ASP NET 中整个表单的身份验证和授权 我的问题是关于页面的内容
  • 如何在Rcpp代码中返回R的NULL?

    假设我有一个 C 代码要使用 Rcpp 编译 并将在 R 中调用 Rcpp export SEXP to env List x if x hasAttribute names return x else return NULL 应该做什么N
  • 在 Android 中集成 Google Plus 时,SERVICE_VERSION_UPDATE_REQUIRED 和 Google Play 服务已过时

    我已经在 Android 应用程序中集成了 Google Plus 我使用的是 Android SDK 版本 4 2 2 但我在 google plus 上执行共享帖子时遇到此错误 Google Plus 服务已过时 and Connect
  • 检查 Python 列表中的项目是否为 int/number

    我有一个 Python 脚本 它读取 csv 文件并将每个值存储到列表列表中 list x y 我对此没有任何问题 list i 0 for row in reader list append list i append row 0 i 1