我在python中編寫代碼,它將讀取文件中的每個字符並保存其出現次數。由於這是一個作業分配,我不能改變陣列的聲明方式。如何在不明確知道它包含什麼的情況下操作聲明爲self.tab [('_',0)]`的數組?
的陣列以這種方式宣告:
def __init__(self):
self.tab = [('_', 0)] * 100
self.size = 0
現在,我每次讀取一個字符的時候,我檢查wheter我已經注意到了這一點與否:
def add(self, c): # c is the character that was read
for i in range(0,self.size):
if self.tab[i] == (c,): # this is where my problem occurs.
#How should should I check if the
#character given as an argument is
#present in the array I declared
#before?
self.tab[i] = ? #Here I want to add 1 to the number
#of occurrences of the character.
#How should I do it?
else:
pass
正如我在說這個問題,我不知道角色等於什麼,第二列等於多少。我希望能夠在不知道有多少事件的情況下將事件數量加1。
我不希望有一個答案能給我確切的解決方案,以適應我的特殊情況。我需要的只是一套規則和例子,就如何在這種情況下工作。
請發佈正確的代碼。什麼是x,add()中的ch是什麼? – Humbalan
首先,使用元組來保存常常會改變的值是個壞主意,但這不是我的bussines。 2.你正在迭代你的選項卡,以檢查是否發生char只是訪問像這樣的第一個元素'self.tab [x] [0] == ch' –
@Take_Care很好,這回答了我的一個問題。所以,爲了改變出現的值,我所要做的就是寫'self.tab [x] [1] + = 1'? –