在Python中计算单个单词

时间:2016-03-19 10:04:01

标签: python list

所以我需要在python输入列表中计算单个单词(特别是红色和蓝色)。 但是,它不能是例如redish或bluemaybe。 这就是我所做的事情(我已经尝试过如果循环捕获它但没有工作。)

r = 0
b = 0
cars = []
car = input("Cars: ")
cars.append(car)
car.split()
r = car.count('red')
b = car.count('blue')
print("red:",r)
print("blue:",b)

2 个答案:

答案 0 :(得分:2)

以下作品。

# replace by 'carsStr = input("Cars: ")' if you wish
carsStr = "rad blue blueish redish red blue red" 
# str.split() returns a list of strings, never in-place
cars = carsStr.split()
r = cars.count('red')
b = cars.count('blue')
print("red:",r)
print("blue:",b)

以下是您的错误:

  • 执行cars.append(car)然后car.split()不会"展开" car列表中的cars字符串。
  • car.split()不会就地发生,它会返回一个字符串列表。在您的情况下,该列表会丢失,因为您不会将其分配给变量。
  • 您也永远不会重复使用cars列表。

如果您想要一个更完整的计数工具,请参阅https://docs.python.org/3/library/collections.html#counter-objects

答案 1 :(得分:-1)

您可以循环遍历列表然后返回值 拆分和追加是没有必要的。面对编码问题时,尽量找到最简单的答案,最简洁,不要牺牲任何实质内容。

async.each