배열의 모든 항목에 패턴이있는 기존의 배열에서 새 배열을 만들려고합니다. 예를배열의 항목에서 패턴을 제거하는 방법
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
을 사용하여 ioned)
[v[:v.index('_')] for v in my_array]
['A', 'BC', 'FGKX']
.replace를 사용하면 목록 배열 내에서 새 배열을 만드는 대신 문자열 치환 만 할 수 있습니다. –