我无法为我的代码(学校)输出正确的输出。
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]'作为输出。我想知道 哪个部分代码导致它在返回输出中放入括号和逗号?
答案 0 :(得分:1)
因为您在数组上调用str()
,所以您将获得该数组的字符串表示形式。
替换
str(inverseFindChar[::-1])
与
" ".join(str(x) for x in inverseFindChar[::-1])
答案 1 :(得分:0)
您要询问的部分是str()
函数调用。 Python在输出中放置括号和逗号,以便更容易查看数组元素。
如果要将数组元素用空格分隔,请使用
" ".join(map(str, inverseFindChar[::-1]))