gpt4 book ai didi

python - 按字母顺序排列句子并计算每个单词出现的次数并打印在表格中

转载 作者:太空宇宙 更新时间:2023-11-04 07:01:48 25 4
gpt4 key购买 nike

我正在为问题的表格部分中的打印而苦苦挣扎。到目前为止,我已经设法按字母顺序对用户输入的句子进行排序,并计算每个单词出现的次数。这是代码:

thestring = (raw_input())
sentence = thestring.split(" ")
sentence.sort()

count = {}
for word in thestring.split():
try: count[word] += 1
except KeyError: count[word] = 1

print sentence
print count

当我运行代码时,我得到了这个:

['apple', 'apple', 'banana', 'mango', 'orange', 'pear', 'pear', 'strawberry']
{'apple': 2, 'pear': 2, 'strawberry': 1, 'mango': 1, 'orange': 1, 'banana': 1}

但是,理想情况下,我希望它打印在看起来像这样的表格中:

apple.....|.....2
banana....|.....1
mango.....|.....1
orange....|.....1
pear......|.....2
strawberry|.....1

感谢您的帮助!

最佳答案

format是打印格式化字符串的 pythonic 方式:

d = {'apple': 2, 'pear': 2, 'strawberry': 1, 'mango': 1, 'orange': 1, 'banana': 1}

for word, count in sorted(d.items()):
print "{:20} | {:5}".format(word, count)

自动调整第一列的大小:

maxlen = max(map(len, d))
for word, count in sorted(d.items()):
print "{:{}} | {}".format(word, maxlen, count)

如果你真的想用点(或其他什么)填充它,那么像这样:

for word, count in sorted(d.items()):
print "{:.<{}}|{:.>5}".format(word, maxlen, count)
apple.....|....2banana....|....1mango.....|....1orange....|....1pear......|....2strawberry|....1

正如已经指出的,对于第一部分,最好使用 Counter .

关于python - 按字母顺序排列句子并计算每个单词出现的次数并打印在表格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19586164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com