gpt4 book ai didi

python - Python 字符串是否以终止 NULL 结尾?

转载 作者:太空狗 更新时间:2023-10-29 17:14:02 27 4
gpt4 key购买 nike

Python字符串末尾有特殊字符吗?就像 C 或 C++ 中的\0 一样。我想在不使用内置 len 函数的情况下计算 python 中字符串的长度。

最佳答案

Python 中没有字符串结束字符,至少没有公开的字符,并且它依赖于实现。 String 对象保持它们自己的长度,这不是你需要关心的事情。有几种方法可以在不使用 len() 的情况下获取字符串的长度。

str = 'man bites dog'
unistr = u'abcd\u3030\u3333'

# count characters in a loop
count = 0
for character in str:
count += 1
>>> count
13

# works for unicode strings too
count = 0
for character in unistr:
count += 1
>>> count
6

# use `string.count()`
>>> str.count('') - 1
13
>>> unistr.count(u'') - 1
6

# weird ways work too
>>> max(enumerate(str, 1))[0]
13
>>> max(enumerate(unistr, 1))[0]
6
>>> str.rindex(str[-1]) + 1
13
>>> unistr.rindex(unistr[-1]) + 1
6

# even weirder ways to do it
import re
pattern = re.compile(r'$')
match = pattern.search(str)
>>> match.endpos
13
match = pattern.search(unistr)
>>> match.endpos
6

我怀疑这只是冰山一角。

关于python - Python 字符串是否以终止 NULL 结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24409581/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com