gpt4 book ai didi

python - 更改列表中特定位置的某些字符

转载 作者:行者123 更新时间:2023-12-01 02:15:10 25 4
gpt4 key购买 nike

我的目标是接收一个列表,然后向后输出。现在我的输入/输出是:

['1', '[2,[4,5]]', '3'] 

['3', '[]5,4[,2]', '1']

正如您从输出中看到的,括号朝向错误的方向。我正在尝试使用替换功能,但它用括号替换了每个位置。

正确的输出应该是这样的。

['3', '[[5,4],2]', '1']

这是我的代码。

organizeList = ['1','[2,[4,5]]','3']
print("Format should be similar to '1, 2, [3, 4], 5'")
#organizeList.append(input("Enter a list: ")
tempList = []
otherList = []
testString = ""
lastString = ""
print(organizeList)
for p in range(len(organizeList)-1, -1, -1):
if (organizeList[p].startswith('[') == True):
for showList in organizeList[p]:
testString = testString + showList
for x in range(len(testString)-1, -1, -1):
if (testString[x] == ']'):
testString = testString.replace(testString[x], '[')
elif (testString[x] == '['):
testString = testString.replace(testString[x], ']')
lastString = lastString + testString[x]
tempList.append(lastString)
else:
tempList.append(organizeList[p])
print(tempList)

我仍在学习 python,所以如果您对如何清理我的代码有任何提示和技巧,请告诉我。

最佳答案

我不知道你的代码有什么问题,但你应该将所有左括号重新映射到右括号,反之亦然,如下所示:

>>> remap = {ord('['): ']', ord(']'): '['}
>>> L = ['1', '[2,[4,5]]', '3']
>>> [s[::-1].translate(remap) for s in reversed(L)]
['3', '[[5,4],2]', '1']

关于python - 更改列表中特定位置的某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48415006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com