Python join()函数注意事项

1. join()介绍

关于join的简单使用可以参考:Python3 join()方法

描述
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

语法
join()方法语法:

str.join(sequence)

参数
sequence – 要连接的元素序列。
返回值
返回通过指定字符连接序列中元素后生成的新字符串。

实例
以下实例展示了join()的使用方法:

实例

#!/usr/bin/python3

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)

总结:

  1. str是作为连接字符,sequence是一个可迭代序列,join的总用是将sequence内各个内容迭代,同时在中间插入str

注意事项:

  1. sequence必须可以迭代一次以上,否则str不会插入
  2. sequence必须是可跌打对象,可以是元组()、列表[]、字符串""
  3. sequence为字符串时,迭代时会对每一个字符进行迭代
    举例1:
    在这里插入图片描述
    可以看到由于sequence 迭代次数小于1,所以结果并不是+a而是a

举例2:

str_list = ['a','b','c','d']
print("=========")
#方法1
new_str = ''
for i in str_list:
    new_str = new_str.join((i))
print(new_str)

#方法2
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("=========")
#方法1
new_str = ''
for i in str_list:
    new_str = new_str.join(('',i))
print(new_str)

#方法2
new_str = ''
for i in str_list:
    new_str = "".join((new_str, i))
print(new_str)

运行结果:

=========
abcd
abcd

通过增加一个空的迭代可以达到我们预想的效果

猜你喜欢

转载自blog.csdn.net/qq_43332314/article/details/124008831
今日推荐