使用“ for循环”-如果用户输入上有重复的单词,则仅显示第一个重复的单词。如何显示所有重复的单词?

时间:2019-07-10 03:39:52

标签: python python-3.x string list split

我正在根据用户输入进行每个单词的字符计数。

但是,如果输入中存在重复的单词(类似情况),我的代码将仅输出第一个单词(不包含重复的单词)。

我为此使用了split,len和for循环。

sentence = input("Enter a sentence: ")
splitting = sentence.split()

final = {x:len(x) for x in splitting}
print(final)
  • 示例输入:新电话提醒!您的新手机将于下周上市。

  • 预期输出:{'New':3,'phone':5,'alert!':6,'Your':4,'new':3,'phone':5,'will' :4,'be':2 ...}

  • 实际输出:{'新':3,'电话':5,'警告!':6,'您':4,4,'新':3,'将':4,'是' :2 ...}

由于案例不匹配,因此显示“新”和“新”。但是,“电话”仅显示一次。

1 个答案:

答案 0 :(得分:1)

您可以在列表列表中的单词中获取单词characterCount。

listOfList = [[x , len(x)] for x in splitting]
print(listOfList)

输出:

 [['New', 3], ['phone', 5], ['alert!', 6], ['Your', 4], ['new', 3], ['phone', 5], ['will', 4], ['be', 2], ['available', 9], ['next', 4], ['week.', 5]]