ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

习题练习:输出字符串中数字的位置

2021-05-06 23:03:00  阅读:225  来源: 互联网

标签:digits 练习 print abc120dfg09 字符串 import 习题 data


题目:

指定字符串为 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

标签:digits,练习,print,abc120dfg09,字符串,import,习题,data
来源: https://www.cnblogs.com/augustine0654/p/14737193.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有