4 4將多個小字串頻拼接成乙個字串

2021-07-29 10:36:25 字數 1201 閱讀 5641

# -*- coding:utf-8 -*-

"""實際案例:

在設計某網路程式時,我們自定義了乙個基於udp的網路協議,

按照固定次序向伺服器傳遞一系列引數:

hwdetect: "<0112>"

gxdepthbits: "<32>"

....

在程式中我們將各個引數按次序收集到列表中:

["<0112>", "<32>", "<1024*768>", ....]

最終我們要把各個引數拼接成agiel資料報進行傳送.

"<0112><32><1024*768>...."

解決方案:

方法一:迭代列表,連續使用'+'操作依次拼接每乙個字串.

方法二:使用str.join()方法,耿佳快速的拼接列表中所有字串.

"""s1 = 'abcdefg'

s2 = '12345'

s = s1 + s2 # 呼叫的是str.__add__(s1, s2)過載函式生成的結果

# s1 > s2 # str.__gt__(s1, s2)

pl = ["<0112>", "<32>", "<1024>"]

s = ''

for p in pl:

s += p # 存在重複地建立字串臨時物件,釋放臨時結果的迴圈過程,浪費資源

print s

# <0112>

# <0112><32>

# <0112><32><1024>

print

';'.join(['abc', '123', 'xyz'])

print

''.join(['abc', '123', 'xyz']) # join方法不存在臨時資源浪費的情況

# abc;123;xyz

# abc123xyz

l = ['abc', 123, 45, 'xyz']

print

''.join([str(x) for x in l]) # 當字串很長時,也會對資源產生很大的開銷

# 使用生成器表示式:類似於列表解析,只不過換成圓括號 (str(x) for x in l)

# 它是乙個生成器物件at 0x7fa0d95d9b40>

print

''.join(str(x) for x in l)

如何將多個小字串拼接成乙個大字串

實際案例 在設計某網路程式時,我們自定義了乙個基於udp的網路協議,按照固定次序向伺服器傳遞一系列引數 hwdetect 0112 gxdepthbits 32 gxresolution 1024x768 gxrefresh 60 fullalpha 1 loddist 100.0 distcull...

將查詢結果拼接成字串

for xml path param 將查詢結果以xml格式輸出 1 select id,name from table1 for xml path 2 id和name為table1的真實字段 path後面沒有引數時,每行資料被預設標籤包裹,每行列資料被被其列名標籤包裹。上面sql的結果可如下 1 ...

MySQL 拼接成乙個字串

1.方法 concat str1,str2,返回結果為連線引數產生的字串。如有任何乙個引數為null 則返回值為 null。注意 此方法在轉換成字串的時候,如果有乙個引數為null 則返回結果為null.2.方法 concat ws 是 concat 的特殊形式,第乙個引數 separator 為分...