如何在 Python 中获取字符串的大小(长度)
- 2025-04-16 08:56:00
- admin 原创
- 16
问题描述:
例如,我得到一个字符串:
str = "please answer my question"
我想将其写入文件。
但是在将字符串写入文件之前,我需要知道字符串的大小。我可以使用什么函数来计算字符串的大小?
解决方案 1:
如果您正在谈论字符串的长度,您可以使用len()
:
>>> s = 'please answer my question'
>>> len(s) # number of characters in s
25
如果需要字符串的大小(以字节为单位),则需要sys.getsizeof()
:
>>> import sys
>>> sys.getsizeof(s)
58
另外,不要将字符串变量命名为str
。它会遮蔽内置str()
函数。
解决方案 2:
Python 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
Python 2:
对于 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
解决方案 3:
>>> s = 'abcd'
>>> len(s)
4
解决方案 4:
您还可以使用 str.len() 来计算列中元素的长度
data['name of column'].str.len()
解决方案 5:
最Python风格的方法是使用len()
。请记住,转义序列中的 '\' 字符不计算在内,如果使用不当可能会很危险。
>>> len('foo')
3
>>> len('oo')
3
>>> len('xoo')
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated xXX escape
解决方案 6:
你想在 Python 语言中查找字符串的长度吗?如果要查找单词的长度,可以使用len函数。
string = input("Enter the string: ")
print("The string length is: ", len(string))
输出:
输入字符串:viral
字符串长度为:5
解决方案 7:
提供的答复很恰当,但需要注意的是,在 Python 中,空格也被视为字符。
但是,如果想要创建一个函数来计算某人姓名中的字符总数,则可能需要删除空格。使用该.replace()
方法可以轻松实现。
例如:
name = "Steve Wozniak"
number = len(name.replace(" ", ""))
print(number)
这里的输出是12(不包括空格),而不是13(包括空格)。
扫码咨询,免费领取项目管理大礼包!