Во-первых, не следует использовать имя как list
, он маскирует встроенного имени list
[См: Built-in Methods], и это может привести к некоторым тонким ошибкам.
После этого есть способы сделать это. Главное, чтобы иметь в виду то, что объектов, как струны, приходят вместе с множеством методов [См .: String Methods], которые действуют на них. Один из этих методов: str.count(sub)
, который подсчитывает количество раз sub
в вашей строке.
Таким образом, создавая счетчик для каждого элемента в lst
может быть сделано с помощью for
цикла:
lst = ('+','-','*','/')
string = "33+33-33*33/33"
for i in lst:
print("Item ", i, " occured", str(string.count(i)), "times")
str(string.count(i))
преобразует целое число результат string.count
к str
объекта, так что он может быть напечатан print
.
Это печатает:
Item + occured 1 times
Item - occured 1 times
Item * occured 1 times
Item/occured 1 times
После того, как больше привыкли к Python вы можете использовать понимание, чтобы создать список результатов и поставлять их в print
:
print(*["Item {} occured {} times".format(x, string.count(x)) for x in lst], sep='\n')
который печатает аналогичный результат.
Наконец, удостоверьтесь, что вы находитесь на сайте документации Python, но вы можете ознакомиться с этим языком.
Можете ли вы добавить путь, показывающий общее время его возникновения? Кроме того, спасибо, что вы ответили, что это было полезно –