Python 如何从数组中的项中删除模式

Python 如何从数组中的项中删除模式,python,list,python-3.x,Python,List,Python 3.x,我试图从一个已经存在的数组中创建一个新数组,其中数组中的所有项都有一个模式 比如说 my_array=['A_1.gi.kl','BC_1.gi.kl','FGKX_1.gi.kl'] 我想要的是一个能自动生成 my_new_array=['A','BC','FGKX'] 我怎样才能轻松做到这一点?数组中的结果项没有相同的长度。使用split进行理解: my_array = ['A_1.gi.kl', 'BC_1.gi.kl', 'FGKX_1.gi.kl'] my_new_array =

我试图从一个已经存在的数组中创建一个新数组,其中数组中的所有项都有一个模式

比如说

my_array=['A_1.gi.kl','BC_1.gi.kl','FGKX_1.gi.kl']
我想要的是一个能自动生成

my_new_array=['A','BC','FGKX']

我怎样才能轻松做到这一点?数组中的结果项没有相同的长度。

使用
split
进行理解:

my_array = ['A_1.gi.kl', 'BC_1.gi.kl', 'FGKX_1.gi.kl']
my_new_array = [item.split('_')[0] for item in my_array]

使用
split
进行理解:

my_array = ['A_1.gi.kl', 'BC_1.gi.kl', 'FGKX_1.gi.kl']
my_new_array = [item.split('_')[0] for item in my_array]
定义后缀:

>>> suffix = '_1.gi.kl'
>>> [item.split(suffix)[0] for item in my_array]
['A', 'BC', 'FGKX']
>>> 
然后按后缀拆分:

>>> suffix = '_1.gi.kl'
>>> [item.split(suffix)[0] for item in my_array]
['A', 'BC', 'FGKX']
>>> 
定义后缀:

>>> suffix = '_1.gi.kl'
>>> [item.split(suffix)[0] for item in my_array]
['A', 'BC', 'FGKX']
>>> 
然后按后缀拆分:

>>> suffix = '_1.gi.kl'
>>> [item.split(suffix)[0] for item in my_array]
['A', 'BC', 'FGKX']
>>> 

如果您的所有元素都具有该字符(如您所提到的),则可以使用
list.index
获取最多为特定字符的元素


如果您的所有元素都具有该字符(如您所提到的),则可以使用
list.index
获取最多为特定字符的元素


您可以使用.replace仅执行字符串替换而不是创建新数组(在列表理解范围内)。您可以使用.replace仅执行字符串替换而不是创建新数组(在列表理解范围内)。如果要使用固定的后缀,则不妨将每个字符串截断该后缀的长度:
suffix=len(“'u 1.gi.kl');[item[:-suffix]用于my_数组中的item]
。如果您要使用固定的后缀,您最好将每个字符串截断该后缀的长度:
suffix=len(“u 1.gi.kl”);[my_数组中项目的项目[:-后缀]