zoukankan      html  css  js  c++  java
  • 习题练习:输出字符串中数字的位置

    题目:

    指定字符串为 abc120dfg09

    识别该字符串中所有数字,并打印该数字在该字符串中的位置(索引)。

    1.常规解法:字符串迭代

    符合条件的结果就直接打印出来。

    from string import digits
    data = "abc120dfg09"
    for i in range(len(data)):
        if data[i] in digits:
            print(f'索引:{i},数字:{data[i]}')
    

    2.进阶解法:对输出结果保存

    先将结果保存,最终一次性打印结果。

    2.1 采用元组组成的列表保存

    每个元组保管一对相应的索引和数字型字符,多个元组构成列表。

    from string import digits
    data = "abc120dfg09"
    lst = []
    for i in range(len(data)):
        if data[i] in digits:
            lst.append((i,data[i]))
    print(lst)
    
    2.2 采用字典保存

    索引作为字典的键,字符作为字典的值(字符可能存在重复,不能作为键)。

    from string import digits
    data = "abc120dfg09"
    dct = {}
    for i in range(len(data)):
        if data[i] in digits:
            dct[i] = data[i]
    print(dct)
    

    3.高手解法:正则表达式

    import re
    data = "abc120dfg09"
    p = [(i.start(),i.group()) for i in re.finditer(r'd',data)]
    print(p)   
    

    参考链接:https://xue.cn/hub/reader?bookId=1&path=the-craft-of-selfteaching/notes_7.ipynb

  • 相关阅读:
    Bot Style Tests VS Page Objects
    Qemu文档
    PlantUML
    include <xxx.h> 和 include "xxxx.h"的区别
    2021.40 喜欢当下
    2021.39 MIUI崩溃
    2021.38 聚焦
    2021.37 心流
    2021.36 负熵
    2021.35 精神熵
  • 原文地址:https://www.cnblogs.com/augustine0654/p/14737193.html
Copyright © 2011-2022 走看看