numpy.strings.slice#

strings.slice(a, start=None, stop=<no value>, step=None, /)[source]#

使用 startstopstep 指定的切片来切分 a 中的字符串。与常规 Python 的 slice 对象一样,如果只指定了 start,则它被解释为 stop

参数:
a类数组,具有 StringDTypebytes_str_ 数据类型

输入数组。

startNone,一个整数或一个整数数组

切片的开始位置,将广播到 a 的形状

stopNone,一个整数或一个整数数组

切片的结束位置,将广播到 a 的形状

stepNone,一个整数或一个整数数组

切片的步长,将广播到 a 的形状

返回:
outndarray

输出数组的 StringDTypebytes_str_ 数据类型,取决于输入类型

示例

>>> import numpy as np
>>> a = np.array(['hello', 'world'])
>>> np.strings.slice(a, 2)
array(['he', 'wo'], dtype='<U5')
>>> np.strings.slice(a, 2, None)
array(['llo', 'rld'], dtype='<U5')
>>> np.strings.slice(a, 1, 5, 2)
array(['el', 'ol'], dtype='<U5')

可以为不同的数组条目指定不同的 start/stop/step

>>> np.strings.slice(a, np.array([1, 2]), np.array([4, 5]))
array(['ell', 'rld'], dtype='<U5')

负切片与常规 Python 中的含义相同

>>> b = np.array(['hello world', 'γεια σου κόσμε', '你好世界', '👋 🌍'],
...              dtype=np.dtypes.StringDType())
>>> np.strings.slice(b, -2)
array(['hello wor', 'γεια σου κόσ', '你好', '👋'], dtype=StringDType())
>>> np.strings.slice(b, -2, None)
array(['ld', 'με', '世界', ' 🌍'], dtype=StringDType())
>>> np.strings.slice(b, [3, -10, 2, -3], [-1, -2, -1, 3])
array(['lo worl', ' σου κόσ', '世', '👋 🌍'], dtype=StringDType())
>>> np.strings.slice(b, None, None, -1)
array(['dlrow olleh', 'εμσόκ υοσ αιεγ', '界世好你', '🌍 👋'],
      dtype=StringDType())