1. join()介绍
关于join的简单使用可以参考:Python3 join()方法
描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法: join()方法语法:
str.join(sequence)
参数 sequence – 要连接的元素序列。 返回值 返回通过指定字符连接序列中元素后生成的新字符串。
实例 以下实例展示了join()的使用方法:
实例
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b")
print (s1.join( seq ))
print (s2.join( seq ))
以上实例输出结果如下:
r-u-n-o-o-b
runoob
说明:以上摘自菜鸟教程:https://www.runoob.com/python3/python3-string-join.html
2.注意事项
str.join(sequence)
总结:
str 是作为连接字符,sequence 是一个可迭代序列,join的总用是将sequence 内各个内容迭代,同时在中间插入str
注意事项:
sequence 必须可以迭代一次以上,否则str 不会插入sequence 必须是可跌打对象,可以是元组() 、列表[] 、字符串"" - 当
sequence 为字符串时,迭代时会对每一个字符进行迭代 举例1: 可以看到由于sequence 迭代次数小于1,所以结果并不是+a 而是a
举例2:
str_list = ['a','b','c','d']
print("=========")
new_str = ''
for i in str_list:
new_str = new_str.join((i))
print(new_str)
new_str = ''
for i in str_list:
new_str = "".join((new_str, i))
print(new_str)
运行结果:
=========
d
abcd
我们期望方法1的结果和方法2结果一致,但是实际运行结果并不一致,这是由于方法1的squence 迭代次数小于1导致,我们可以修改代码如下:
str_list = ['a','b','c','d']
print("=========")
new_str = ''
for i in str_list:
new_str = new_str.join(('',i))
print(new_str)
new_str = ''
for i in str_list:
new_str = "".join((new_str, i))
print(new_str)
运行结果:
=========
abcd
abcd
通过增加一个空的迭代可以达到我们预想的效果
|