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

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

Python中提供了很多字符串内置函数,这里列举几个比较常用的: 1. `len(str)`:返回字符串的长度。 ```python str = "hello, world!" print(len(str)) # 输出:13 ``` 2. `str.upper()`和`str.lower()`:将字符串分别转化为大写和小写形式。 ```python str = "Hello, WoRlD!" print(str.upper()) # 输出:HELLO, WORLD! print(str.lower()) # 输出:hello, world! ``` 3. `str.capitalize()`和`str.title()`:将字符串的首字母或每个单词的首字母转化为大写。 ```python str = "hello, world!" print(str.capitalize()) # 输出:Hello, world! print(str.title()) # 输出:Hello, World! ``` 4. `str.find(sub, start, end)`和`str.index(sub, start, end)`:返回子字符串在原字符串中的位置,若没有则返回-1或抛出异常。 ```python str = "hello, world!" print(str.find('o')) # 输出:4 print(str.index('o')) # 输出:4 print(str.find('z')) # 输出:-1 # print(str.index('z')) # 抛出异常:ValueError: substring not found ``` 5. `str.count(sub, start, end)`:返回子字符串在原字符串中出现的次数。 ```python str = "hello, world!" print(str.count('o')) # 输出:2 ``` 6. `str.replace(old, new, count)`:将字符串中的所有旧子字符串替换为新子字符串,count为替换次数,可省略,表示替换所有。 ```python str = "hello, world!" print(str.replace('l', 'L')) # 输出:heLLo, worLd! ``` 除此之外,还有很多其他的字符串内置函数,比如`str.startswith(prefix, start, end)`、`str.endswith(suffix, start, end)`、`str.strip(chars)`、`str.join(iterable)`等等。这些函数都有其特定的功能和用法,可以根据实际情况进行选择和使用。 引用:Python字符串内置函数功能与用法总结。主要介绍了Python字符串内置函数功能与用法,结合实例形式总结分析了Python常见字符串操作函数的功能、分类、使用方法及相关操作注意事项,需要的朋友可以参考下[^1]。 引用:python string内置函数表格。string.replace(str1, str2, num=string.count(str1)) [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱出名的狗腿子

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值