列表和字符串之间有相似点,也有不同的地方,进行如下阐述:
相同点
- 二者都是序列类型
- 组成二者的元素都是从左向右,索引左边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]则会报错
image.png
网友评论