РЕДАКТИРОВАТЬ 2013-12-11 - Этот ответ очень старый. Это все еще допустимо и правильно, но люди, смотрящие на это, должны предпочесть синтаксис нового формата .
Вы можете использовать форматирование строки , например:
>>> print '%5s' % 'aa'
aa
>>> print '%5s' % 'aaa'
aaa
>>> print '%5s' % 'aaaa'
aaaa
>>> print '%5s' % 'aaaaa'
aaaaa
В основном:
- символ
%
сообщает python, что ему придется что-то подставить токену
- символ
s
сообщает python, что токен будет строкой
-
5
(или любое другое желаемое число) информирует python о необходимости дополнения строки пробелами до 5 символов.
В вашем конкретном случае возможная реализация может выглядеть так:
>>> dict_ = {'a': 1, 'ab': 1, 'abc': 1}
>>> for item in dict_.items():
... print 'value %3s - num of occurances = %d' % item # %d is the token of integers
...
value a - num of occurances = 1
value ab - num of occurances = 1
value abc - num of occurances = 1
ПОБОЧНОЕ ПРИМЕЧАНИЕ: Интересно, знаете ли вы о существовании itertools
модуля . Например, вы можете получить список всех ваших комбинаций в одной строке с:
>>> [''.join(perm) for i in range(1, len(s)) for perm in it.permutations(s, i)]
['a', 'b', 'c', 'd', 'ab', 'ac', 'ad', 'ba', 'bc', 'bd', 'ca', 'cb', 'cd', 'da', 'db', 'dc', 'abc', 'abd', 'acb', 'acd', 'adb', 'adc', 'bac', 'bad', 'bca', 'bcd', 'bda', 'bdc', 'cab', 'cad', 'cba', 'cbd', 'cda', 'cdb', 'dab', 'dac', 'dba', 'dbc', 'dca', 'dcb']
и вы можете получить количество вхождений, используя combinations
в сочетании с count()
.