본문 바로가기

Filter4

Python 파이썬에서 문자열에서 영숫자 문자만 남기고 모두 제거하기, Stripping everything but alphanumeric chars from a string in Python 질문 파이썬을 사용하여 문자열에서 모든 영숫자가 아닌 문자를 제거하는 가장 좋은 방법은 무엇인가요? 이 질문의 PHP 버전에서 제시된 해결책들은 약간의 조정을 거치면 작동할 것 같지만, '파이썬 다운' 느낌이 들지 않습니다. 기록을 위해, 저는 마침표와 쉼표(및 기타 구두점)뿐만 아니라 따옴표, 괄호 등도 제거하려고 합니다. 답변 저는 그냥 호기심으로 몇 가지 함수를 시간 측정해 보았습니다. 이 테스트에서는 내장된 string 모듈의 string.printable에서 비알파벳 및 숫자가 아닌 문자를 제거합니다. '[\W_]+'와 pattern.sub('', str)의 사용이 가장 빠르다는 것을 알게 되었습니다. $ python -m timeit -s \ "import string" \ "''.join(c.. 2023. 11. 16.
Python jinja2 템플릿에서 리스트의 길이를 가져옵니다., Get lengths of a list in a jinja2 template 질문 jinj2 템플릿에서 리스트의 요소 수를 어떻게 얻을 수 있을까요? 예를 들어, Python에서는 다음과 같이 할 수 있습니다: print(template.render(products=[???])) 그리고 jinja2에서는 다음과 같습니다. You have {{what goes here?}} products 답변 당신은 {{products|length}}개의 제품을 가지고 있습니다. 또한 다음과 같은 문법을 사용할 수도 있습니다. {% if products|length > 1 %} jinja2의 내장 필터는 여기에 문서화되어 있으며, 특히 이미 찾은 것처럼 length (그리고 그 동의어인 count)는 다음과 같이 문서화되어 있습니다: 시퀀스나 매핑의 항목 수를 반환합니다. 그러므로, 템플릿에서 .. 2023. 11. 14.
Python 문자열 목록에서 빈 문자열을 제거합니다., Remove empty strings from a list of strings 질문 나는 파이썬에서 문자열 목록에서 모든 빈 문자열을 제거하고 싶습니다. 내 아이디어는 다음과 같습니다: while '' in str_list: str_list.remove('') 이것을 더 파이썬스럽게 할 수 있는 방법이 있나요? 답변 나는 filter를 사용할 것이다: str_list = filter(None, str_list) str_list = filter(bool, str_list) str_list = filter(len, str_list) str_list = filter(lambda item: item, str_list) Python 3는 filter에서 이터레이터를 반환하기 때문에 list() 호출로 래핑해야 한다. str_list = list(filter(None, str_list)) 2023. 6. 7.
Python 리스트 컴프리헨션에서 if/else, if/else in a list comprehension 질문 나는 문자열과 None 값의 혼합물을 포함하는 xs라는 리스트가 있습니다. 어떻게 리스트 내포를 사용하여 각 문자열에 대해 함수를 호출하지만 None 값을 함수에 전달하는 대신 ''로 변환할 수 있을까요? 저는 다음을 시도해 보았습니다: [f(x) for x in xs if x is not None else ''] 하지만 이것은 SyntaxError를 반환합니다. 올바른 구문은 무엇인가요? 조건에 따라 값을 제외하는 리스트 내포를 만들려고 하는 경우 List comprehension with condition을 참조하십시오. 만약 두 개 이상의 조건 결과를 고려해야 하는 경우, Python의 조건 표현식은 elif를 지원하지 않습니다. 대신, if/else 조건문을 중첩해야 합니다. 자세한 내용은 .. 2023. 5. 20.