![](/img/trans.png)
[英]Loop over 2d array, error TypeError: 'int' object is not subscriptable
[英]TypeError: 'type' object is not subscriptable. How can I get this to remove an array from a 2d array?
我看過類似問題的答案,但我無法完成這項工作。 我對 python 很陌生。
def read():
set = []
f = open("error set 1.txt", "r")
replace = f.read()
f.close()
f = open("Test1_Votes.txt", "w")
replaced = replace.replace(",", "")
f.write(replaced)
f.close()
f = open("Test1_Votes.txt", "r")
for line in f:
ballot = []
for ch in line:
vote = ch
ballot.append(vote)
print (ballot)
set.append(ballot)
"""print(set)"""
remove()
def remove():
for i in range (70):
x = i - 1
check = set[x]
if 1 not in check:
set.remove[x]
print(set)
錯誤是第 37 行,check = set[x] 我不確定究竟是什么導致了錯誤
在remove
function 中,您還沒有定義set
。 所以, python 認為是內置的 object set
,實際上是不可下標的。
將您的 object 傳遞給remove
function,並且最好給它另一個名稱。
您刪除 function 無法“看到”您的設置變量(這是列表,避免使用保留字作為變量名),因為它不是公共的,它僅在讀取 function 內部定義。 在讀取 function 或將其作為輸入發送以刪除 function 之前定義此變量,它應該可以工作。
def read():
set = []
f = open("error set 1.txt", "r")
replace = f.read()
f.close()
f = open("Test1_Votes.txt", "w")
replaced = replace.replace(",", "")
f.write(replaced)
f.close()
f = open("Test1_Votes.txt", "r")
for line in f:
ballot = []
for ch in line:
vote = ch
ballot.append(vote)
print (ballot)
set.append(ballot)
"""print(set)"""
remove(set)
def remove(set):
for i in range (70):
x = i - 1
check = set[x]
if 1 not in check:
set.remove(x)
print(set)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.