@@ -339,7 +339,7 @@ def _str_contains(
339
339
def _str_startswith (self , pat : str | tuple [str , ...], na : Scalar | None = None ):
340
340
if isinstance (pat , str ):
341
341
result = pc .starts_with (self ._pa_array , pattern = pat )
342
- elif isinstance ( pat , tuple ) and all ( isinstance ( x , str ) for x in pat ) :
342
+ else :
343
343
if len (pat ) == 0 :
344
344
# mimic existing behaviour of string extension array
345
345
# and python string method
@@ -351,16 +351,14 @@ def _str_startswith(self, pat: str | tuple[str, ...], na: Scalar | None = None):
351
351
352
352
for p in pat [1 :]:
353
353
result = pc .or_ (result , pc .starts_with (self ._pa_array , pattern = p ))
354
- else :
355
- raise TypeError ("pat must be str or tuple[str, ...]" )
356
354
if not isna (na ):
357
355
result = result .fill_null (na )
358
356
return self ._result_converter (result )
359
357
360
358
def _str_endswith (self , pat : str | tuple [str , ...], na : Scalar | None = None ):
361
359
if isinstance (pat , str ):
362
360
result = pc .ends_with (self ._pa_array , pattern = pat )
363
- elif isinstance ( pat , tuple ) and all ( isinstance ( x , str ) for x in pat ) :
361
+ else :
364
362
if len (pat ) == 0 :
365
363
# mimic existing behaviour of string extension array
366
364
# and python string method
@@ -372,8 +370,6 @@ def _str_endswith(self, pat: str | tuple[str, ...], na: Scalar | None = None):
372
370
373
371
for p in pat [1 :]:
374
372
result = pc .or_ (result , pc .ends_with (self ._pa_array , pattern = p ))
375
- else :
376
- raise TypeError ("pat must be of type str or tuple[str, ...]" )
377
373
if not isna (na ):
378
374
result = result .fill_null (na )
379
375
return self ._result_converter (result )
0 commit comments