python - 如何检查Python中type()方法的返回值?

标签 python python-3.x string types

我正在尝试编写一个 Python 3 函数来过滤列表和 pop()所有为字符串的项目。但是当我尝试编写以下函数时:

def filter_list(l):
    for i in l:
        type_item = type(l[i])
        if type_item == "class str":
            l.pop(i)
    return l

我收到一条错误消息:

File "/home/codewarrior/solution.py", line 3, in filter_list
    type_item = type(l[i])
TypeError: list indices must be integers or slices, not str

我相信这个方法的返回值不是 str ,但我没有找到任何文档告诉我如何检查返回是否是字符串。谢谢!

最佳答案

您可以使用列表推导式通过更简单的表达式来完成它。查看以下代码。它将过滤掉初始列表中的所有字符串:

start_list = ["test", 1, 2]
filtered_list = [i for i in start_list if type(i) is not str]

关于python - 如何检查Python中type()方法的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64217770/

相关文章:

python - 替换多个相似的字符串

python - 如何使用 category_encoder 包获取二进制编码的原始值

python - 如何通过组合数据框中的两个系列来添加新系列?

python 原生字符串标记匹配器

python - 有没有一种官方方法可以在 GTK 中创建离散值范围小部件?

python - 如何将 Pandas 数据框显示为 flask 引导表?

javascript - 如何检查对象中是否存在相同的字符串?

python - 将列转换为行值,其中列+行为 True

python - Mercurial 修订树的可视化

python - 将输出添加到 Sphinx 文档中的交互式 Python 控制台 block ?