@@ -333,7 +333,7 @@ def _str_contains(
333
333
def _str_startswith (self , pat : str | tuple [str , ...], na : Scalar | None = None ):
334
334
if isinstance (pat , str ):
335
335
result = pc .starts_with (self ._pa_array , pattern = pat )
336
- elif isinstance ( pat , tuple ) and all ( isinstance ( x , str ) for x in pat ) :
336
+ else :
337
337
if len (pat ) == 0 :
338
338
# mimic existing behaviour of string extension array
339
339
# and python string method
@@ -345,8 +345,6 @@ def _str_startswith(self, pat: str | tuple[str, ...], na: Scalar | None = None):
345
345
346
346
for p in pat [1 :]:
347
347
result = pc .or_ (result , pc .starts_with (self ._pa_array , pattern = p ))
348
- else :
349
- raise TypeError ("pat must be str or tuple[str, ...]" )
350
348
if not isna (na ):
351
349
result = result .fill_null (na )
352
350
result = self ._result_converter (result )
@@ -357,7 +355,7 @@ def _str_startswith(self, pat: str | tuple[str, ...], na: Scalar | None = None):
357
355
def _str_endswith (self , pat : str | tuple [str , ...], na : Scalar | None = None ):
358
356
if isinstance (pat , str ):
359
357
result = pc .ends_with (self ._pa_array , pattern = pat )
360
- elif isinstance ( pat , tuple ) and all ( isinstance ( x , str ) for x in pat ) :
358
+ else :
361
359
if len (pat ) == 0 :
362
360
# mimic existing behaviour of string extension array
363
361
# and python string method
@@ -369,8 +367,6 @@ def _str_endswith(self, pat: str | tuple[str, ...], na: Scalar | None = None):
369
367
370
368
for p in pat [1 :]:
371
369
result = pc .or_ (result , pc .ends_with (self ._pa_array , pattern = p ))
372
- else :
373
- raise TypeError ("pat must be of type str or tuple[str, ...]" )
374
370
if not isna (na ):
375
371
result = result .fill_null (na )
376
372
result = self ._result_converter (result )
0 commit comments