我想解決類似於下面的更一般的問題。在下面,我得到了vow_array,它表示在一些文本中存在一些元音,比如發送給我的程序。我需要打印每個元音的存在爲0或1.python檢查列表元素的存在
ch_a = 0
ch_e = 0
ch_i = 0
ch_o = 0
ch_u = 0
# vow_array is generated at runtime; here is an example
vow_array = ['a', 'o', 'u']
if 'a' in vow_array:
ch_a = ch_a + 1
if 'e' in vow_array:
ch_e = ch_e + 1
if 'i' in vow_array:
ch_i = ch_i + 1
if 'o' in vow_array:
ch_o = ch_o + 1
if 'u' in vow_array:
ch_u = ch_u + 1
print ch_a, ch_e, ch_i, ch_o, ch_u
我認爲這段代碼太長,容易出錯。有沒有更緊湊的寫作方式?另外,如果我必須爲字母表中的所有「字母」執行此操作,則我不想重複該代碼。
+1 - 數據結構是缺少的,「collections.Counter」在這裏是正確的。 –
美麗,謝謝!也感謝其他人,對解決方案也有同樣的想法。 – user1487178