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

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

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

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

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

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

【问题讨论】:

  • 您需要先展示您尝试过的内容。

标签: python string list


【解决方案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()

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 2018-04-20
    相关资源
    最近更新 更多