我想解决类似于下面的更一般的问题。在下面,我得到了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