试图打印一个结果

2024-07-08 08:03:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着打印出一个重复的结果

代码:

words = 'ups downs downs love love like go go go'
words = words.split(' ')
TotalWords = len(words)
print 'TotalWords =', TotalWords
for w in words:
    if words.count(w) > 1:
        print w, words.count(w)
    else:
        print w, words.count(w)

结果:

TotalWords = 9
ups 1
downs 2
downs 2
love 2
love 2
like 1
go 3
go 3
go 3

我想得到:

TotalWords = 9
ups 1
downs 2
love 2
like 1
go 3

我错过了什么?有什么建议吗


Tags: 代码ingoforlenifcountlike
2条回答

问题是,在words中,每次出现w,你都需要print w, words.count(w)。使用set去除重复项

words = 'ups downs downs love love like go go go'
words = words.split(' ')
TotalWords = len(words)
print 'TotalWords =', TotalWords
for w in set(words):
    print w, words.count(w)

如果你在数,别忘了计数器

from collections import Counter
words = 'ups downs downs love love like go go go'
print 'TotalWords =', len(words.split(' '))
words = Counter(words.split(' '))
for word, count in words.items():
    print word, count

相关问题 更多 >

    热门问题