Python - 计算字符串中的整数个数?

Posted

技术标签:

【中文标题】Python - 计算字符串中的整数个数?【英文标题】:Python - Count number of integers in a string? 【发布时间】:2016-08-13 15:22:20 【问题描述】:

我刚刚回到 python,想知道是否有一种简单的方法可以返回给定字符串中存在的整数数。

例如,如果我有一个列表,

['1 5','2 10 23','214 33 1']

遍历列表中的每个项目并查找整数的数量将分别返回233

我唯一能想到的就是有一个二维列表,其中主列表中的每个项目都是另一个包含单独数字的列表,然后我可以在每个辅助列表上调用 len()。有没有更简单的方法?

【问题讨论】:

您需要先展示您尝试过的内容。 【参考方案1】:

只需使用列表推导即可。这要求整数在字符串列表中用空格“ ”分隔。

data = ['1 5','2 10 23','214 33 1']
int_per_string = [len(x.split(' ')) for x in data]

返回:

Out[8]:[2, 3, 3]

【讨论】:

太完美了,谢谢!我忘了 python 中的列表有多么强大。【参考方案2】:

根据您保留的示例,对于列表中的每个项目,它们都用空格分隔。所以你可以尝试使用 .isdigit()

    numCount=[]
    for item in list:
        index=0
        sublist = item.split()
        for subitem in sublist:
            if subitem.isdigit():
                index +=1
        numCount.append(index)
    print(numCount)

我希望这会对你有所帮助。如果要检查与字符串一起包含的数字,也可以使用 subitem.isalnum() 而不是 subitem.isdigit()

谢谢。

【讨论】:

以上是关于Python - 计算字符串中的整数个数?的主要内容,如果未能解决你的问题,请参考以下文章

python基础:内置函数、方法、转义字符大全

剑指offer:二进制中1的个数

Python问题

c语言中计算字符串中数字字符个数

Python中如何计算list中大于某数的个数?

Python之运算符汇总