我试图从已经存在的数组中创建一个新数组,其中数组中的所有项都有一个模式。
例如
my_array=['A_1.gi.kl','BC_1.gi.kl','FGKX_1.gi.kl']
我想要的是一个可以自动生成的功能
my_new_array=['A','BC','FGKX']
我怎样才能轻松完成这项工作?数组中生成的项目长度不同。
答案 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']
>>>