Regular expressions are not just "an order of magnitude better"—they're
asymptotically faster.
See https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm
for a non-regular-expression algorithm.
On Thursday, April 26, 2018 at 5:45:20 AM UTC-4, Jacco van Dorp wrote:
>
> or bu
If this was for a school assignment, I'd probably go to edit distance and
fuzzy string match next:
https://en.wikipedia.org/wiki/Edit_distance
https://en.wikipedia.org/wiki/String-to-string_correction_problem
- https://pypi.org/search/?q=Levenshtein
- https://pypi.org/project/textdistance/
As a
There are two ‘AA’ in ‘AAA’, one starting from 0 and the other starting from 1.
If ‘AA’ starting from 0 is deleted and inserted with ‘BANAN’, ‘AAA’ becomes
‘BANANA ‘.
If ‘AA’ starting from 1 is deleted and inserted with ‘PPLE’, ‘AAA’ becomes
‘APPLE’.
Depending on which one is chosen, ‘AAA’ can
or build it yourself...
def str_count(string, sub):
c = 0
for c in range(len(string)-len(sub)):
if string[c:].startswith(sub):
c += 1
return c
(probably some optimizations possible...)
Or in one line with a generator expression:
def str_count(string, sub):
return sum(string[c:]
On Wednesday, April 25, 2018, Steven D'Aprano wrote:
> On Wed, Apr 25, 2018 at 11:22:24AM -0700, Julia Kim wrote:
> > Hi,
> >
> > There’s an error with the string method count().
> >
> > x = ‘AAA’
> > y = ‘AA’
> > print(x.count(y))
> >
> > The output is 1, instead of 2.
>
> Are you proposing that
On Wed, Apr 25, 2018 at 11:22:24AM -0700, Julia Kim wrote:
> Hi,
>
> There’s an error with the string method count().
>
> x = ‘AAA’
> y = ‘AA’
> print(x.count(y))
>
> The output is 1, instead of 2.
Are you proposing that there ought to be a version of count that looks
for *overlapping* substri
str.count counts non-overlapping instances of the substring. After
counting the first 'AA', there is only one A left, so that isn't a
second instance of 'AA'
On 2018-04-25 02:22 PM, Julia Kim wrote:
> Hi,
>
> There’s an error with the string method count().
>
> x = ‘AAA’
> y = ‘AA’
> print(x.coun
Hi,
>From https://docs.python.org/3/library/stdtypes.html#str.count:
str.count(*sub*[, *start*[, *end*]])
Return the number of *non-overlapping* occurrences of substring *sub* in
the range [*start*, *end*]. Optional arguments *start* and *end* are
interpreted as in slice notation.
Best regards,
J
Hi,
There’s an error with the string method count().
x = ‘AAA’
y = ‘AA’
print(x.count(y))
The output is 1, instead of 2.
I write programs on SoloLearn mobile app.
Warm regards,
Julia Kim
___
Python-ideas mailing list
Python-ideas@python.org
https