首页 > 编程语言 >Python学习:len() 函数详解:获取字符串长度或字节数、join()方法:合并字符串

Python学习:len() 函数详解:获取字符串长度或字节数、join()方法:合并字符串

时间:2022-09-20 16:55:29浏览次数:76  
标签:join 字节 字节数 Python len 字符串

Python中,要想知道一个字符串有多少个字符(获得字符串长度),或者一个字符串占用多少个字节,可以使用len()函数。

语法格式:

len(string)

string 用于指定要进行长度统计的字符串

示例:

a = 'www.baidu.com'
print(len(a))

输出

13

在 Python 中,不同的字符所占的字节数不同,数字、英文字母、小数点、下划线以及空格,各占一个字节,而一个汉字可能占 2~4 个字节,具体占多少个,取决于采用的编码方式。例如,汉字在 GBK/GB2312 编码中占用 2 个字节,而在 UTF-8 编码中一般占用 3 个字节。

以 UTF-8 编码为例,字符串“人生苦短,我用Python”所占用的字节数如图 1 所示。

在这里插入图片描述
我们可以通过使用 encode() 方法,将字符串进行编码后再获取它的字节数。例如,采用 UTF-8 编码方式,计算“人生苦短,我用Python”的字节数,可以执行如下代码:

示例:

str1 = '人生苦短,我用Python'
print(len(str1.encode()))

输出

27

因为汉字加中文标点符号共 7 个,占 21 个字节,而英文字母和英文的标点符号占 6 个字节,一共占用 27 个字节。

同理,如果要获取采用 GBK 编码的字符串的长度,可以执行如下代码:

str1 = '人生苦短,我用Python'
print(len(str1.encode('gbk')))

输出

20

join()方法:合并字符串

使用 join() 方法合并字符串时,它会将列表(或元组)中多个字符串采用固定的分隔符连接在一起。例如字符串“www.baidu.com” 就可以看做是通过分隔符 “.” 将 ['www','baidu','com']列表合并为一个字符串的结果。

语法格式:

newstr = str.join(iterable)

此方法中各参数的含义如下:

  • newstr:表示合并后生成的新字符串;
  • str:用于指定合并时的分隔符;
  • iterable:做合并操作的源字符串数据,允许以列表、元组等形式提供。

示例一:

#Python学习交流群:711312441
list = ['www', 'baidu', 'com']
str = '.'.join(list)
print(str)

输出

www.baidu.com

示例二:

dir = '', 'usr', 'bin', 'env'
print(type(dir))
str1 = '/'.join(dir)
print(str1)

输出

<class 'tuple'>
/usr/bin/env

标签:join,字节,字节数,Python,len,字符串
From: https://www.cnblogs.com/djdjdj123/p/16711631.html

相关文章

  • Java线程的join方法
    java线程中的join方法线程的join方法可以用来让本线程插队,强行占用cpu执行权;现有线程A在cpu上运行,另一个线程B调用自己的join方法,强行把正在运行的线程A退回到等待状态,......
  • C# .net 对外接口返回json字符串序列化
     UserBankCarduserBankCard=newUserBankCard(){BankCard=bankCard,UserID=userID,RealName......
  • mangodb更新数组字符串为数组
    通过csv导入的数组类型数据会变为字符串类型,如:"[""A"",""B""]";"[1,2,3,4,5]",应为:["A","B"];[1,2,3,4,5]。批量更新代码:db.getCollection('pagedata').find({'pageDat......
  • java通过Throwable的printStackTrace方法将异常信息保存到字符串中
    java通过Throwable的printStackTrace方法将异常信息保存到字符串中   /***将异常信息转化成字符串*@paramt*@return*@throwsIOException*/priv......
  • Java 多线程中的任务分解机制-ForkJoinPool,以及CompletableFuture
    简介ForkJoinPool的优势在于,可以充分利用多cpu,多核cpu的优势,把一个任务拆分成多个“小任务”,把多个“小任务”放到多个处理器核心上并行执行;当多个“小任务”执行完成之后......
  • C语言字符串处理函数 strtok() 和 atoi() 的使用
    字符串函数(Stringprocessingfunction)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数。本文主要介绍C语言中符串处理函数strtok()和atoi()的区别使用方法......
  • Java中如何遍历字符串呢?
    字符串是程序开发中我们见的最多的一种数据类型对字符串的操作,也是我们日常涉及的最多的一种操作方式,那么如何遍历字符串为字符并输出呢?下面笔者讲述三种操作方式,如下所......
  • 字符串以特定标识替换问题
    staticvoidMain(string[]args){varcontent="名称:{名称},发十多个地方的{透后小结}辅导书的";vartemp=content.Substring(......
  • CSP-J 2022 备战 乱七八糟字符串
     众所周知,字符串分为两大类:一.string类:主要操作:1.字符串长度输出:str.length()2.字符串比较:str1.compare(str2)如果结果是0则两个字符串完全相同3.字符串判空:str.em......
  • 大字节数组和 MemoryStream 的替代方案
    发表于2019年12月9日 在.NET中,处理二进制数据时通常使用字节数组;例如,在方法之间传递文件的内容、编码/解码文本、从套接字读取数据等。这些数组可能会变得非常大......