如何在Python中获取字符串的大小(长度)

发布于 2024-10-17 11:09:56 字数 146 浏览 5 评论 0原文

例如,我得到一个字符串:

str = "please answer my question"

我想将其写入文件。

但在将字符串写入文件之前我需要知道字符串的大小。我可以使用什么函数来计算字符串的大小?

For example, I get a string:

str = "please answer my question"

I want to write it to a file.

But I need to know the size of the string before writing the string to the file. What function can I use to calculate the size of the string?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

眼角的笑意。 2024-10-24 11:09:57

您还可以使用 str.len() 来计算列中元素的长度

data['name of column'].str.len() 

You also may use str.len() to count length of element in the column

data['name of column'].str.len() 
浮生面具三千个 2024-10-24 11:09:57

最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

The most Pythonic way is to use the len(). Keep in mind that the '\' character in escape sequences is not counted and can be dangerous if not used correctly.

>>> 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
窗影残 2024-10-24 11:09:57

你想求Python语言中字符串的长度吗?如果你想知道单词的长度,你可以使用len函数。

string = input("Enter the string: ")

print("The string length is: ", len(string))

输出:

输入字符串:病毒

字符串长度为:5

Do you want to find the length of the string in the Python language? If you want to find the length of the word, you can use the len function.

string = input("Enter the string: ")

print("The string length is: ", len(string))

Output:

Enter the string: viral

The string length is: 5

热血少△年 2024-10-24 11:09:57

提供的答案很恰当,但值得注意的是,在 Python 中,空格也被视为字符。

但是,如果希望创建一个需要计算某人姓名中字符总数的函数,则可能需要删除空格。这可以使用 .replace() 方法轻松完成。

例如:

name = "Steve Wozniak"
number = len(name.replace(" ", ""))
print(number)

这里的输出是12(不包括空格)而不是13(包括空格)。

The responses provided are apt, but it is important to note that in Python, blank spaces are also considered characters.

However, if one wishes to create a function that requires counting total characters in someone’s name for instance, it may be necessary to remove blank spaces. This can easily be accomplished using the .replace() method.

For example:

name = "Steve Wozniak"
number = len(name.replace(" ", ""))
print(number)

The output here is 12 (excluding blank space) instead of 13 (including blank space).

吖咩 2024-10-24 11:09:56

如果您正在谈论字符串的长度,可以使用 len( )

>>> s = 'please answer my question'
>>> len(s)  # number of characters in s
25

如果需要字符串的大小(以字节为单位),则需要 sys.getsizeof()

>>> import sys
>>> sys.getsizeof(s)
58

另外,不要调用字符串变量str。它隐藏了内置的 str() 功能。

If you are talking about the length of the string, you can use len():

>>> s = 'please answer my question'
>>> len(s)  # number of characters in s
25

If you need the size of the string in bytes, you need sys.getsizeof():

>>> import sys
>>> sys.getsizeof(s)
58

Also, don't call your string variable str. It shadows the built-in str() function.

夜吻♂芭芘 2024-10-24 11:09:56

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

Python 3:

user225312's answer is correct:

A. To count number of characters in str object, you can use len() function:

>>> print(len('please anwser my question'))
25

B. To get memory size in bytes allocated to store str object, you can use sys.getsizeof() function

>>> from sys import getsizeof
>>> print(getsizeof('please anwser my question'))
50

Python 2:

It gets complicated for Python 2.

A. The len() function in Python 2 returns count of bytes allocated to store encoded characters in a str object.

Sometimes it will be equal to character count:

>>> print(len('abc'))
3

But sometimes, it won't:

>>> print(len('йцы'))  # String contains Cyrillic symbols
6

That's because str can use variable-length encoding internally. So, to count characters in str you should know which encoding your str object is using. Then you can convert it to unicode object and get character count:

>>> print(len('йцы'.decode('utf8'))) #String contains Cyrillic symbols 
3

B. The sys.getsizeof() function does the same thing as in Python 3 - it returns count of bytes allocated to store the whole string object

>>> print(getsizeof('йцы'))
27
>>> print(getsizeof('йцы'.decode('utf8')))
32
妖妓 2024-10-24 11:09:56
>>> s = 'abcd'
>>> len(s)
4
>>> s = 'abcd'
>>> len(s)
4
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文