我試圖遍歷此串列并附加括號的索引,但它回傳了錯誤的索引。
代碼:
t = "(= 2 ( 4 5))"
a = []
for each in t:
if (each == '(') or (each == ')'):
a.append(t.index(each))
else:
pass
print(t)
print(a)
結果:
(= 2 ( 4 5))
[0, 0, 11, 11]
它應該是:
(= 2 ( 4 5))
[0, 5, 11, 12]
uj5u.com熱心網友回復:
您可以通過使用直接獲取索引來避免通過串列(您有t.index(each))進行 python 搜索:enumerate()
t = "(= 2 ( 4 5))"
a = []
for index,each in enumerate(t):
if (each == '(') or (each == ')'):
a.append(index)
else:
pass
print(t)
print(a)
按要求輸出
uj5u.com熱心網友回復:
在'if'的條件中,'=='和'('之間有一個空格,你應該洗掉它。寫“if (each =='(') or (each ==')')”而不是“如果(每個=='(')或(每個==')')”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/536595.html
