配列内のすべての項目にパターンがある既存の配列から新しい配列を作成しようとしています。私が欲しいもの配列内の項目からパターンを削除する方法
my_array=['A_1.gi.kl','BC_1.gi.kl','FGKX_1.gi.kl']
例えば
は自動的
my_new_array=['A','BC','FGKX']
は、どのように私は簡単にこれを行うことができます作ることができる機能ですか?配列の結果の項目の長さは同じではありません。理解と
配列内のすべての項目にパターンがある既存の配列から新しい配列を作成しようとしています。私が欲しいもの配列内の項目からパターンを削除する方法
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]
は接尾辞を定義します。
>>> suffix = '_1.gi.kl'
それからちょうどサフィックスによって分割
:あなたは、特定の文字までの要素を取得することができます
>>> [item.split(suffix)[0] for item in my_array]
['A', 'BC', 'FGKX']
>>>
固定接尾辞を使用する場合は、接尾辞の長さだけ各文字列を切り捨ててください。 'suffix = len( '_1.gi.kl'); my_arrayの項目の[item [: - suffix]] ' – TigerhawkT3
すべての要素にその文字がある場合はlist.index
を使用して
.replaceを使用すると、新しい配列を作成するのではなく、文字列の置換を行うことができます(リスト内包の中で)。 –