您可以按照以下方式做一些事情:
#!/usr/bin/python
import sys
print sys.argv
counts={}
for st in sys.argv[1:]:
for c in st:
counts.setdefault(c.lower(),0)
counts[c.lower()]+=1
for k,v in sorted(counts.items(), key=lambda t: t[1], reverse=True):
print "'{}' {}".format(k,v)
python letter_counts.py "ThiS is String with Upper and lower case Letters."
当使用打印调用时:
['./letter_counts.py', 'ThiS is String with Upper and lower case Letters.']
' ' 8
'e' 5
's' 5
't' 5
'i' 4
'r' 4
'a' 2
'h' 2
'l' 2
'n' 2
'p' 2
'w' 2
'c' 1
'd' 1
'g' 1
'o' 1
'u' 1
'.' 1
如果您不使用引号,如下所示:python letter_counts.py ThiS is String with Upper and lower case Letters.
它会打印:
['./letter_counts.py', 'ThiS', 'is', 'String', 'with', 'Upper', 'and', 'lower', 'case', 'Letters.']
'e' 5
's' 5
't' 5
'i' 4
'r' 4
'a' 2
'h' 2
'l' 2
'n' 2
'p' 2
'w' 2
'c' 1
'd' 1
'g' 1
'o' 1
'u' 1
'.' 1
sys.argv
请注意输出顶部列表中的差异。结果是单词之间的空格丢失并且字母数相同。