Python札记5_字符串与列表比较

浏览: 1153

列表和字符串之间有相似点,也有不同的地方,进行如下阐述:

相同点

  • 二者都是序列类型
  • 组成二者的元素都是从左向右,索引左边0开始,右边-1开始
  • 若想得到多个元素,使用切片方法
  • 对于序列的基本操作都是适用二者

不同点

  • 列表list是可以改变的,字符串string是不能改变的
  • 在字符串中每个元素都是字符,列表中的元素可以是任意类型,甚至可以是列表
  • 多维列表中的其中一个列表,是当做一个元素来使用的

二者转化

在某些情况下,需要将列表和字符串进行转化,需要使用split()join()函数。

str.split()
根据分隔符将某个字符串转换成列表:字符串--->列表,得到的结果是list类型

line = "Hello.I am Peter.Welcome you."
lst1 = line.split(".") # 按照分隔符.进行分隔
print(lst1)

lst2 = line.split(".", 1) # 指定分割后列表中最大的索引值
print(lst2)

lst3 = line.split() # 默认按照空格进行分割
print(lst3)

['Hello', 'I am Peter', 'Welcome you', '']
['Hello', 'I am Peter.Welcome you.']
['Hello.I', 'am', 'Peter.Welcome', 'you.']

seq.join(list)
jion()可以看做是split()的逆运算,表示将字符串通过某种连接符连接起来,是字符串的方法,不是列表的方法

name = ['xiaoming', 'peter']
name1 = "".join(name) # 没有指定任何连接符号
print(name1)
name2 = "+".join(name) # 连接符号为+
print(name2)
name3 = " ".join(name) # 空格为连接符号
print(name3)

xiaomingpeter
xiaoming+peter
xiaoming peter

注意:传入join函数中的对象或者说参数的值,有一定的条件:

a = ["a", "b", "c", "1", "2", "3"]
b = "+".join(a)
print(b)

#结果为:
a+b+c+1+2+3

如果a = ["a", "b", "c", 1, 2, 3]则会报错

推荐 0
本文由 皮大大 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册