连仕彤博客[Python笔记] 判断0-9数字在字符串中出现的次数

要求

给定一些数字(0-9范围之间),判断数字在字符串中出现的次数。 例子的排序是依照算法的效率(时间复杂度)从低到高

例子1

 
# 定义数字
num = [1,1,1,1,1]
 
#开辟一个列表,以0占位。
counter = [0]*10
 
for i in range(10):
    counter[i] = num.count(str(i))
    if counter[i]:
        # 使用format格式化字符串
        print("The count of {} is {}".format(i,counter[i]))
print('~'*20)

例子2

 
# 定义数字
num = [1,1,1,1,1]
 
#开辟一个列表,以0占位。
counter = [0]*10
 
for x in num:
    i = int(x)
    # 如果counter[i]的值等于0
    if counter[i] == 0:
        # counter对应的位置上面就记录数字x的出现次数
        # count就是一个隐含的一层循环
        counter[i] = num.count(x) 
        # 用Python的格式化字符串函数format输出结果
        print("The count of {} is {}".format(x,counter[i]))

例子3

 
num = [1,2,3,4,5]
counter = [0]*10
for x in num:
    print(x)
    i = int(x)
    counter[i] += 1 # 使用索引的方法是最快的
    #counter[i] = counter[i] + 1
for i in range(len(counter)):
    if counter[i]:
        print("The count of {} is {}".format(i,counter[i]))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏vue

Java冒泡排序法升级版

18730
来自专栏深度学习与计算机视觉

C++ 指针和引用的区别

指针是C系语言的一大特色,也在很大程度上体现着C/C++的精髓,一个数据对象的内存地址称为该数据对象的指针。本质上指针是一个变量,所以它有自己的类型,这个类型决...

20280
来自专栏跟着阿笨一起玩NET

C#基础知识之方法重载总结

方法重载是指在同一个类中方法同名,参数不同,调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术。

11120
来自专栏积累沉淀

线程的创建

创建一个Java线程常见的有两种方式: 1.继承Thread类 两种表示方法: (1).外部类 import java.util.D...

21180
来自专栏用户3030674的专栏

java构造代码块,构造函数和普通函数的区别和调用时间

在这里我们谈论一下构造代码块,构造函数和普通函数的区别和调用时间。 构造代码块:最早运行,比构造函数运行的时间好要提前,和构造函数一样,只在对象初始化的时候运行...

10020
来自专栏码云1024

c++ public,protected,private

30870
来自专栏琯琯博客

排序算法-插入排序

排序算法-插入排序 <?php /** * 插入排序. * * @param array $value 待排序数组 * @param integer $...

28590
来自专栏行者常至

final、abstract、interface

【包含抽象方法的类一定是抽象类;抽象类中可包括非抽象方法(具体的方法)。抽象类无法实例化,不能创建对象,只能通过子类继承,然后通过方法覆盖。如果不覆盖抽象方法,...

8910
来自专栏峰会SaaS大佬云集

更新c++学习笔记 第四章 命名空间

命名空间的名字在其所在作用域中是唯一的,命名控件可以在全局作用域或者其它作用域内部定义,但是不能在函数或者类的内部定义。

5000
来自专栏积累沉淀

程序、进程、线程的关系

创建一个Java线程常见的有两种方式: 1.继承Thread类 两种表示方法: (1).外部类 import java.util.D...

20060

扫码关注云+社区

领取腾讯云代金券