检查 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 的相关文章

  • (discord.py) 尝试更改成员角色时,“用户”对象没有属性“角色”

    因此 我正在尝试编写一个机器人 让某人在命令中指定的主持人指定的一段时间内暂停角色 我知道该变量称为 小时 即使它目前以秒为单位 我稍后会解决这个问题 基本上 它是由主持人在消息 暂停 personmention numberofhours
  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数

随机推荐

  • 彩色 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