>>> import re
>>> text = '1011101111'
>>> len(re.findall('(?=11)', text))
5
Если вы не хотите загружать весь список совпадений в память, это никогда не будет проблемой! вы можете сделать это, если хотите:
>>> sum(1 for _ in re.finditer('(?=11)', text))
5
Как функция (re.escape
, убедитесь, что подстрока не мешает регулярному выражению):
>>> def occurrences(text, sub):
return len(re.findall('(?={0})'.format(re.escape(sub)), text))
>>> occurrences(text, '11')
5
time = Time.now.getutc
Обоснование: В моем Глаза отметка времени - это именно то, что нужно: момент времени. Это можно точно представить с помощью объекта. Если вам нужно что-то еще, скалярное значение, например секунд с эпохи Unix, интервалы 100 нс с 1601 года или, может быть, строка для отображения или хранения метки времени в базе данных, вы можете легко получить это из объекта. Но это во многом зависит от вашего предполагаемого использования.
Утверждение, что «истинная отметка времени - это количество секунд с момента появления эпохи Unix», немного не соответствует сути, поскольку это один способ представления момента времени, но для этого также нужна дополнительная информация. даже знать, что вы имеете дело со временем, а не с числом. Объект Time
прекрасно решает эту проблему, представляя момент времени , а также явно указывая, что это такое .