python处理长串python计算字符串长度数学计算

python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函数取得的长度,进行对比即可知道字符串内中文字符的数量,自然就可以计算出字符串的长度了。


省事点用 sqlite fts4 全文索引好了,这样可以一条字段存入多条关键字,
查询时给句子拆分下加入 OR 语法,select 用下 snippet 函数得到匹配的关键字。

把数据存到 sqlite fts4 全文索引表(sqlite 有在 python 标准库里不需要其他依赖,可以用内存数据库),fts4 默认会按标点和空格分词,所以处理中文时预先插入空格就没问题(插入 \r 之类也行)。

如果要求判断子字符串而不是按单词判断,存入数据时先用空格把字母和字符逐个隔开,查询时也逐个隔开并加上适当引号和 * 号,

而如果是想分词却担心有黄词漏网的话,存入数据和查询句子都用二元分词就可以了。

1.exec()将字符串作为代码运行

exec函数主要用于动态地创建代码字符串。如果这种字符串来自其他地方,就几乎无法确定它将包含什么内容。因此为了安全起见,要提供一个字典以充当命名空间

命名空间:可以视为一个放置变量的地方,类似于一个看不见的字典。因此,当你执行语句x=1时,将在当前命名空间存储键x和值1。当前命名空间通常是全局命名空间,但也并非必然如此。

如此可见,可能带来破坏的代码并非覆盖函数sqrt。sqrt函数该怎样还怎样,而通过exec执行赋值语句创建的变量位于scope中。

eval是一个类似于exec的内置函数。
exec执行一系列Python语句,而eval计算用字符串表示的Python表达式的值,并返回结果。(exec什么都不返回,因为它本身是条语句)
与exec一样,也可以向eval提供一个命名空间。

我要回帖

更多关于 python计算字符串长度 的文章

 

随机推荐