2017-02-06 5 views
2

, 나는 문자열 목록이있는 경우예를 들어

alist=['a_name1_1', 'a_name1_2', 'a_name1_3'] 

나는 어떻게합니까이 :

alist_changed = ['a_n1_1', 'a_n1_2', 'a_n1_3'] 

답변

4

alist_changed = [s.replace("ame", "") for s in alist]

+0

's.replace ("a_name", "a_n")'가 더 읽기 쉽다고 생각합니다. – yeputons

+0

예, 그렇습니다. 제가 말할 수있는 한, 어쨌든 인위적인 예입니다 ... –

+0

도움을 주셔서 감사합니다. –

2

당신이 경우 실제로 "패턴"이 될 필요가있는 것을 찾고 있다면, 파이썬의 re 모듈과 sub 정규 표현 패턴을 사용할 수 있습니다.

import re 


alist=['a_name1_1', 'a_name1_2', 'a_name1_3'] 
alist_changed = [] 

pattern = r'_\w*_' 

for x in alist: 
    y = re.sub(pattern, '_n1_', x, 1) 
    #print(y) 
    alist_changed.append(y) 


print(alist_changed) 
+0

정규식을 사용하는 것이 더 일반적인 방법이라고 생각합니다. 아이디어를 가져 주셔서 감사합니다. 그러나 ResMar의 대답만으로도 간단 할 수 있습니다. 즉 문자열의 이름을 줄이는 것입니다. 감사! –