[PYTHON] 문자열 목록에서 문자 제거
PYTHON문자열 목록에서 문자 제거
다음과 같은 문자열 목록이있는 경우 :
[("aaaa8"),("bb8"),("ccc8"),("dddddd8")...]
각 문자열에서 8을 모두 없애려면 어떻게해야합니까? 스트립을 사용하거나 for 루프를 대체하려고 시도했지만 정상적인 문자열 (목록에없는 문자열)처럼 작동하지 않습니다. 누구 제안이 있습니까?
해결법
-
==============================
1.이 시도:
이 시도:
lst = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")] print([s.strip('8') for s in lst]) # remove the 8 from the string borders print([s.replace('8', '') for s in lst]) # remove all the 8s
-
==============================
2.루프와 이해력을 사용하는 것 외에지도를 사용할 수도 있습니다.
루프와 이해력을 사용하는 것 외에지도를 사용할 수도 있습니다.
lst = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")] mylst = map(lambda each:each.strip("8"), lst) print mylst
-
==============================
3.
mylist = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")] print mylist j=0 for i in mylist: mylist[j]=i.rstrip("8") j+=1 print mylist
-
==============================
4.더 빠른 방법은 목록에 가입하고 8을 대체하고 새 문자열을 분할하는 것입니다.
더 빠른 방법은 목록에 가입하고 8을 대체하고 새 문자열을 분할하는 것입니다.
mylist = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")] mylist = ' '.join(mylist).replace('8','').split() print mylist
-
==============================
5.다음은 정규 표현식을 사용하는 짧은 한 줄짜리 코드입니다.
다음은 정규 표현식을 사용하는 짧은 한 줄짜리 코드입니다.
print [re.compile(r"8").sub("", m) for m in mylist]
정규식 연산을 분리하고 이름을 향상 시키면 :
pattern = re.compile(r"8") # Create the regular expression to match res = [pattern.sub("", match) for match in mylist] # Remove match on each element print res
-
==============================
6.
lst = [("aaaa8"),("bb8"),("ccc8"),("dddddd8")...] msg = filter(lambda x : x != "8", lst) print msg
from https://stackoverflow.com/questions/8282553/removing-character-in-list-of-strings by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] PIL - libjpeg.so.8 : 공유 객체 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리 없음 (0) | 2018.11.15 |
---|---|
[PYTHON] 파이썬에서 기본 인코딩을 설정하는 방법 (setdefaultencoding () 함수가 존재하지 않습니다)? [복제] (0) | 2018.11.15 |
[PYTHON] 파이썬에서 페이징 출력 (0) | 2018.11.15 |
[PYTHON] 장고 배경 작업 (0) | 2018.11.15 |
[PYTHON] 해골 음모의 전설을 다른 위치로 이동 하시겠습니까? (0) | 2018.11.15 |