例如,我得到一个字符串:
str = "please answer my question"
我想把它写到一个文件中。
但在将字符串写入文件之前,我需要知道字符串的大小。我可以使用什么函数来计算字符串的大小?
例如,我得到一个字符串:
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()
函数。
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
Python 2 变得复杂。
A. Python 2 中的len()
函数返回分配用于在对象中存储编码字符的字节数。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()
最Pythonic的方式是使用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
你想在python语言中找到字符串的长度吗?如果要查找单词的长度,可以使用 len 函数。
string = input("Enter the string : ")
print("The string length is : ",len(string))
输出 : -
输入字符串:病毒
字符串长度为:5