2014-11-21 119 views
3

我需要打印包含字典值Python:使用列格式打印字典?

freqs = {',': 1, '8': 3, '0': 3, '6': 1, '7': 2, '!': 1, '+': 2, '#': 8, '%': 4, '.': 1, '&': 7, '/': 1, '1': 3, ')': 2, '"': 1, '-': 2, '3': 6, '5': 1, '$': 1, '2': 2, '*': 4, '4': 2, "'": 1, '9': 1, ':': 1} 

是表示一个字符,并将其显示在一个字符串的次数的字典。我想展示给用户在两列像这样:

, (TAB) 1 

8 (TAB) 3 

0 (TAB) 3 

等。

任何帮助,将不胜感激:)

回答

4
freqs = {',': 1, '8': 3, '0': 3, '6': 1, '7': 2, '!': 1, '+': 2, '#': 8, '%': 4, '.': 1, '&': 7, '/': 1, '1': 3, ')': 2, '"': 1, '-': 2, '3': 6, '5': 1, '$': 1, '2': 2, '*': 4, '4': 2, "'": 1, '9': 1, ':': 1} 

for k , v in freqs.iteritems(): # iterating freqa dictionary 
     print k+"\t", v 

输出:

! 1 
# 8 
" 1 
% 4 
$ 1 
' 1 
& 7 
) 2 
+ 2 
* 4 
- 2 
, 1 
/ 1 
. 1 
1 3 
0 3 
3 6 
2 2 
5 1 
4 2 
7 2 
6 1 
9 1 
8 3 
: 1 

使用逗号, print语句后打印在同一行,而\t用于标签。

print k+"\t", v 
0
for item in freqs: 
    print item, freqs[item] 
1

如果正在使用Python≥3.6:

freqs = {',': 1, '8': 3, '0': 3, '6': 1, '7': 2, '!': 1, '+': 2, '#': 8, '%': 4, '.': 1, '&': 7, '/': 1, '1': 3, ')': 2, '"': 1, '-': 2, '3': 6, '5': 1, '$': 1, '2': 2, '*': 4, '4': 2, "'": 1, '9': 1, ':': 1} 

for k, v in freqs.items(): 
    print(f'{k:<4} {v}') 
+0

感谢您表示'F '{K:<4}''特技。我以前从未见过。 – bjd2385 2017-10-17 16:50:10