【发布时间】:2021-09-09 18:13:51
【问题描述】:
输入:
s = "ADOBECODEBANC"
t = "ABC"
输出:
{A:[0,10] , B:[3.9], C:[5,12]}
我们有内置函数吗?
【问题讨论】:
-
{c: [i for i, d in enumerate(s) if c == d] for c in t}
标签: python python-3.x string list substring
输入:
s = "ADOBECODEBANC"
t = "ABC"
输出:
{A:[0,10] , B:[3.9], C:[5,12]}
我们有内置函数吗?
【问题讨论】:
{c: [i for i, d in enumerate(s) if c == d] for c in t}
标签: python python-3.x string list substring
没有内置函数,但您可以使用enumerate() 执行任务:
s = "ADOBECODEBANC"
t = "ABC"
out = {}
for i, ch in enumerate(s):
if ch in t:
out.setdefault(ch, []).append(i)
print(out)
打印:
{'A': [0, 10], 'B': [3, 9], 'C': [5, 12]}
【讨论】:
re 模块,或者不使用enumerate() 而是使用计数器变量....