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

时间:2016-08-04 04:58:08

标签: 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']

我怎样才能轻松完成这项工作?数组中生成的项目长度不同。

3 个答案:

答案 0 :(得分:2)

理解使用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]

答案 1 :(得分:1)

如果您的所有元素都具有该字符(如您所述),则可以使用list.index将元素设置为特定字符

[v[:v.index('_')] for v in my_array]
['A', 'BC', 'FGKX']

答案 2 :(得分:0)

定义后缀:

>>> suffix = '_1.gi.kl'

然后用后缀分开:

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