반응형
여기에 내 코드가 있지만 더 나은 솔루션을 원합니다. 문제에 대해 어떻게 생각하십니까?
def get_all_substrings(string):
length = len(string)
alist = []
for i in xrange(length):
for j in xrange(i,length):
alist.append(string[i:j + 1])
return alist
print get_all_substring('abcde')
해결 방법
제가 생각할 수있는 유일한 개선점은 다음과 같이 목록 이해력을 사용하는 것입니다.
def get_all_substrings(input_string):
length = len(input_string)
return [input_string[i:j+1] for i in xrange(length) for j in xrange(i,length)]
print get_all_substrings('abcde')
너와 나의 타이밍 비교
def get_all_substrings(string):
length = len(string)
alist = []
for i in xrange(length):
for j in xrange(i,length):
alist.append(string[i:j + 1])
return alist
def get_all_substrings_1(input_string):
length = len(input_string)
return [input_string[i:j + 1] for i in xrange(length) for j in xrange(i,length)]
from timeit import timeit
print timeit("get_all_substrings('abcde')", "from __main__ import get_all_substrings")
# 3.33308315277
print timeit("get_all_substrings_1('abcde')", "from __main__ import get_all_substrings_1")
# 2.67816185951
참조 페이지 https://stackoverflow.com/questions/22469997
반응형
'파이썬' 카테고리의 다른 글
파이썬 System ( 'PAUSE')에 해당하는 Python (0) | 2020.12.19 |
---|---|
파이썬 Django, 템플릿 컨텍스트 프로세서 (0) | 2020.12.19 |
파이썬 데이터 유형에 따라 pandas 데이터 프레임 열 목록 가져 오기 (0) | 2020.12.19 |
파이썬 평균 및 표준 편차 플로팅 (0) | 2020.12.19 |
파이썬 별도의 Pandas DataFrame을 서브 플롯으로 플로팅하려면 어떻게해야합니까? (0) | 2020.12.19 |
댓글