line = "wait waited worrit worrited simple wit witted"
words = set(line.split())
it_words = [el for el in words if el.endswith('it')]
simple_count = 0
double_count = 0
for w in it_words:
if w+'ed' in words:
print(w, w+'ed')
simple_count += 1
elif w+'ted' in words:
print(w, w+'ted')
double_count += 1
print ('simple = {0}, double = {1}'.format(simple_count, double_count))
坦率地说,我不确定我是否正确地理解了您的问题,尤其是考虑到示例代码,但我将尝试一下:) 下面是一个示例代码,如何获取所有以“it”结尾的单词,并打印过去时态时的单个和两个“t”的计数(正确吗?:):
在第4行中,使用列表理解得到所有以“it”结尾的单词;然后我们对它们进行迭代-第8行-这比完整的集合更有效,因为我们只关心这些单词。 在循环中,有一个简单的检查,在原始集合中是否存在附加了“ed”和“ted”的单词,并且相应的计数器递增。在
顺便说一句,这可以大大优化大型集合(例如排序)。在
高温
另外,请原谅,在ipad上键入python是一种可怕的体验:)
相关问题 更多 >
编程相关推荐