求字符在字符串中的索引

img


自己写的代码:

str = input()
ls = [];ls1 =[]
while True:
    chr = input().split()       
    if '\n':
        ls = chr[::-1]
    break
ls1 = list(enumerate(str))
for i in ls:
    print('%s' %i,([j for j,x in ls1 if x ==i])[::-1])

```python


运行的结果:
mississippi
s p m
m [0]
p [9, 8]
s [6, 5, 3, 2]
疑问:最后的输出结果是有中括号的,想要去掉这个括号该怎么做?或者,
有没有其他做法?


str = input()

ls = [];ls1 =[]
while True:
    chr = input().split()       
    if '\n':
        ls = chr[::-1]
    break
ls1 = list(enumerate(str))
for i in ls:
    print(f'{i} '+' '.join([f'{j}' for j,x in ls1 if x ==i]))

最简单的办法,直接在[j for j,x in ls1 if x ==i])[::-1]前面加个星号

输出的结果有中括号是因为这是个list,你遍历输出一下就好了