如何从输出(即[])和其他中删除括号

时间:2014-10-30 02:28:16

标签: python enumerate

我无法为我的代码(学校)输出正确的输出。
st =输入字符串
ch =输入字符(这是用于在st中搜索ch的python)代码找到我为ch放入的字符的大写和小写,并在输出中显示它们的位置(按相反的顺序)。
所以,我在

中输入了这段代码
def whichPositionsRev (st, ch):
    if ch in st:
        inverseFindChar = [index for index,char in enumerate(list(st)) if char==ch ]
        return "Yes..." + str(inverseFindChar[::-1])
    else:
        return "No"

我想把'是...... 8 5 2'作为一个返回值(如果我输入'abXabXabX'代表st和'X'代表ch),但我会继续'是...... [8,5,2]'作为输出。我想知道 哪个部分代码导致它在返回输出中放入括号和逗号?

2 个答案:

答案 0 :(得分:1)

因为您在数组上调用str(),所以您将获得该数组的字符串表示形式。

替换

str(inverseFindChar[::-1])

" ".join(str(x) for x in inverseFindChar[::-1])

答案 1 :(得分:0)

您要询问的部分是str()函数调用。 Python在输出中放置括号和逗号,以便更容易查看数组元素。

如果要将数组元素用空格分隔,请使用

" ".join(map(str, inverseFindChar[::-1]))