В Python 2.7: Я измеряю процесс, который подсчитывает ключи словаря, возвращаемого функцией.Словарь ключевого слова
Основной пример показан, где функция getList() возвращает список символов, которые могут быть ['a'], ['b'], ['c'] или ['d']; большинство списков являются отдельными элементами, хотя иногда могут быть возвращены два, например. ['a', 'd']. Я хотел бы считать, что все вернулось. Путь я думал сделать это показано ниже:
myDict = {'a':0, 'b':0, 'c':0, 'd':0, 'error':0, 'total':0}
for key in charList:
myDict[key] += 1
myDict['total'] += 1
Есть более Pythonic путь, возможно, словарь понимание сосчитать ключей в списках (разной длины)?
import random
def getList():
'''mimics a prcoess that returns a list of chars between a - d
[most lists are single elements, though some are two elements]'''
number = (random.randint(97,101))
if number == 101:
charList = [chr(number-1), chr(random.randint(97,100))]
if charList[0] == charList[1]:
getList()
else:
charList = [chr(number)]
return charList
myDict = {'a':0, 'b':0, 'c':0, 'd':0, 'error':0, 'total':0}
for counter in range(0,5):
charList = getList()
for key in charList:
print charList, '\t', key
try:
myDict[key] += 1
myDict['total'] += 1
except:
myDict['error'] += 1
print "\n",myDict
Выход генерироваться: