join() 是一个连接字符的功能,按指定分隔符sep连接生成一个新的字符串
—————————————————————————————————————————————
语法
'sep'.join(seq)
参数说明
sep: 代表分隔符, 可以是单个字符如: , . - ; 等,也可以是字符串如: ‘abc’。
seq: 代表要连接的元素序列,可以是字符串、元组、列表、字典等( str, list, tuple, dict) ;
返回一个以分隔符号sep连接各个元素的字符串。
⚠️注⚠️:'sep’和seq都只能是string型,不能是int型和float型。
错误范例:
以下是一些简单范例
—————————————————————————————————————————————
Python join() method list(串列)
join() list. 是非常常用的功能,主要可以帮助我们成 str,实用性高
test_list = ['A', 'B', 'C']
print('-'.join(test_list)) # A-B-C
print('#'.join(test_list)) # A#B#C
print(' '.join(test_list)) # A B C
—————————————————————————————————————————————
Python join() method str(字串)
join() str. 也可以把字符串转成字符串,通过设置的分隔符重新连接
test_str = 'ABC'
print(''.join(test_str)) # ABC
print(':'.join(test_str)) # A:B:C
print('! '.join(test_str)) # A! B! C
—————————————————————————————————————————————
Python join() method tuple(元組)
join() tuple. 元组----->新的字符串
test_tuple = ('A','B','C')
print(''.join(test_tuple)) # ABC
print(':'.join(test_tuple)) # A:B:C
print('$'.join(test_tuple)) # A$B$C
—————————————————————————————————————————————
Python join() method dict(字典)
join() dict. 我们只能用dict中的key值,将它们连接成新的字符串
test_dict = {'A':1, 'B':2, 'C':3}
print(''.join(test_dict)) # ABC
print(':'.join(test_dict)) # A:B:C
print('*'.join(test_dict)) # A*B*C
—————————————————————————————————————————————
Python join() if
join() 搭配 if
如果你的list里面有不必要的空格、空值,或者元素里面有空格、空值,可以使用此方法
# 这是一个有空元素的列表,我们要将空元素删除,因为他不符合要求
test_list = ['Hi','','Mark','OK']
# 通过for if 来查询一行判断x是否有值,没有的话就不加入
print(' '.join(t for t in test_list if t))# Hi Mark OK
# 这个test_list中 Hi后有空格,Ken前有空格,还有空元素,我们把空格、空元素都移除,留下需要的
test_list = ['Hi ', '', ' Ken', ' ', 'Fail']
print(' '.join(t.strip() for t in test_list if t.strip()))# Hi Ken Fail
其中.strip():
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
—————————————————————————————————————————————
补充:
又发现’sep’.join(seq)这里的seq也可以是 pd.Series,尤其在pd.Series中的dtypes是object这样的str元素时,经常能用到
线性回归案例(家庭用电预测中格式化时间字符串)