天天看點

python string字元串的8種連接配接方式

以下基于python 2.7版本,代碼片段真實有效。

一. str1+str2

string類型 ‘+’号連接配接

>>> str1="one"
>>> str2="two"
>>> str1+str2
'onetwo'
>>>
           

二. str1,str2

string類型 ‘,’号連接配接成tuple類型

>>> str1="one"
>>> str2="two"
>>> str1 ,str2
('one', 'two')
>>> type((str1 ,str2))
<type 'tuple'>
>>>
           

三. 格式化字元串連接配接

string類型格式化連接配接

1.常見的格式化方式

>>> str1="one"
>>> str2="two"
>>> "%s%s"%(str1,str2)
'onetwo'
           

2.進階點的format 格式化

>>> "{test}_666@{data:.f}".format(test="Land", data=)
'[email protected]'
           

3.鮮為人知的【%(word)type】print函數格式化

>>> print "%(test)s666%(last)d" % {"test": "Land", "last": }
Land666101
           

四. str1 str2

string類型空格自動連接配接

>>> "one" "two"
'onetwo'
           

這裡需要注意的是,參數不能代替具體的字元串寫成

錯誤方式:

>>> str1="one"
>>> str2="two"
>>> str1 str2
  File "<stdin>", line 
    str1 str2
            ^
SyntaxError: invalid syntax
           

五. str1 \ str2 \str3

string類型反斜線多行連接配接

>>> test = "str1 " \
... "str2 " \
... "str3"
>>> test
'str1 str2 str3'
>>>
           

六. M*str1*N

string類型乘法連接配接

>>> str1="one"
>>> *str1*
'oneoneoneone'
>>>
           

七. join方式連接配接

string類型join方式連接配接list/tuple類型

>>> str1="one"
>>> list1=["a","b","c"]
>>> tuple1=("H","I","J")
>>> str1.join(list1)
'aonebonec'
>>> str1.join(tuple1)
'HoneIoneJ'
           

這裡的join有點像split的反操作,将清單或元組用指定的字元串相連接配接;

但是值得注意的是,連接配接的清單或元組中元素的類型必須全部為string類型,否則就可能報如下的錯誤:

>>> list2=["a",,"c",]
>>> str1.join(list2)
Traceback (most recent call last):
  File "<stdin>", line , in <module>
TypeError: sequence item : expected string, int found
>>>
           

join還有一個妙用,就是将所有list或tuple中的元素連接配接成string類型并輸出;

>>> list1
['a', 'b', 'c']
>>> "".join(list1)
'abc'
>>> type("".join(list1))
<type 'str'>
>>>
           

八.清單推導方式連接配接

與join方式類似

>>> "".join(["Land" for i in xrange()])
'LandLandLand'
>>> "0".join(["Land" for i in xrange()])
'Land0Land'
>>>