파이썬에서 문자열의 크기를 얻는 방법?
예를 들어 문자열을 얻습니다.
str = "please answer my question"
파일에 쓰고 싶습니다.
그러나 문자열을 파일에 쓰기 전에 문자열의 크기를 알아야합니다. 문자열의 크기를 계산하는 데 어떤 기능을 사용할 수 있습니까?
문자열의 길이에 대해 이야기하는 경우 다음을 사용할 수 있습니다 len()
.
>>> s = 'please answer my question'
>>> len(s) # number of characters in s
25
바이트 단위의 문자열 크기가 필요한 경우 다음이 필요합니다 sys.getsizeof()
.
>>> import sys
>>> sys.getsizeof(s)
58
또한 문자열 변수를 호출하지 마십시오 str
. 내장 str()
기능을 숨 깁니다 .
파이썬 3 :
user225312의 답변 이 맞습니다.
A.str
객체 의 문자 수를 세려면 len()
함수 를 사용할 수 있습니다 .
>>> print(len('please anwser my question'))
25
B.str
객체 를 저장하기 위해 할당 된 메모리 크기를 바이트 단위로 얻으려면 sys.getsizeof()
함수 를 사용할 수 있습니다
>>> from sys import getsizeof
>>> print(getsizeof('please anwser my question'))
50
파이썬 2 :
파이썬 2에서는 복잡해집니다.
A.len()
Python 2 의 함수는 인코딩 된 문자 를 str
객체 에 저장하기 위해 할당 된 바이트 수를 반환 합니다.
때로는 문자 수와 같습니다.
>>> print(len('abc'))
3
그러나 때로는 그렇지 않습니다.
>>> print(len('йцы')) # String contains Cyrillic symbols
6
내부적으로 가변 길이 인코딩을str
사용할 수 있기 때문 입니다. 따라서 문자를 세 려면 객체가 사용 하는 인코딩을 알아야합니다 . 그런 다음 객체 로 변환하고 문자 수를 얻을 수 있습니다.str
str
unicode
>>> print(len('йцы'.decode('utf8'))) #String contains Cyrillic symbols
3
B. 이 sys.getsizeof()
함수는 Python 3에서와 동일한 기능을 수행합니다 . 전체 문자열 객체 를 저장하기 위해 할당 된 바이트 수를 반환 합니다.
>>> print(getsizeof('йцы'))
27
>>> print(getsizeof('йцы'.decode('utf8')))
32
>>> s = 'abcd'
>>> len(s)
4
str.len ()을 사용하여 열의 요소 길이를 계산할 수도 있습니다
data['name of column'].str.len()
가장 파이썬적인 방법은을 사용하는 것 len()
입니다. 이스케이프 시퀀스의 '\'문자는 계산되지 않으며 올바르게 사용하지 않으면 위험 할 수 있습니다.
>>> len('foo')
3
>>> len('\foo')
3
>>> len('\xoo')
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \xXX escape
참고 URL : https://stackoverflow.com/questions/4967580/how-to-get-the-size-of-a-string-in-python
'programing tip' 카테고리의 다른 글
SQLite 데이터베이스 및 테이블 생성 (0) | 2020.06.19 |
---|---|
System.Net.WebException HTTP 상태 코드 (0) | 2020.06.19 |
bash에서 mod 연산자를 사용하는 방법은 무엇입니까? (0) | 2020.06.19 |
옵션이 선택되었는지 확인하는 방법 (0) | 2020.06.19 |
WPF 바인딩을 사용하여 두 개의 명령 매개 변수 전달 (0) | 2020.06.19 |