2017-02-24 57 views
-2

我有3名單的是具有一個值,我想連接列表,所以我用+運算符來連接,但輸出是不是我的預期。我需要使用列表,因爲在某些情況下,我可以獲得更多的結果而不是一個。串聯列表在Python

解釋:

A = ["F"] 
B = ["SZLY"] 
C = ["RQTS"] 
D = ["19230711"] 

輸出:

['F']['SZLY']['RQTS']['19230711'] 

預期輸出:

FSZLYRQTS19230711 

更新:

下面我用代碼來連接。我用str(),因爲我想將最頂端的列表元素轉換爲字符串。

hrk = str(A)+str(B)+str(C)+str(D) 

我怎樣才能得到預期的輸出。

+0

您具體是如何使用'+'在這裏...? – deceze

+0

它看起來並不像你想連接列表(=使一個列表與多個項目),但你想連接列表中的所有字符串。 – deceze

+0

您聲稱的輸出不是實際輸出。請用實際[mcve]說明。 – jonrsharpe

回答

1

strlist打印列表(調試)的表示。在代碼中將其作爲字符串進一步處理是不好的。

最Python的方式:使用join在列表理解爲名單的第一隻&項目

A = ["F"] 
B = ["SZLY"] 
C = ["RQTS"] 
D = ["19230711"] 

print(["".join(x[0] for x in (A,B,C,D))]) 

結果:

FSZLYRQTS19230711 
1

嘗試這樣,

In [32]: A[0]+B[0]+C[0]+D[0] 
Out[32]: 'FSZLYRQTS19230711' 
1

嘗試:

A[0] + B[0] + C[0] + D[0] 

您嘗試訪問列表的第一個元素,所以你必須通過索引來訪問它們。

你目前正在做什麼將創建一個包含所有元素的單一列表。像:

A = ['2414214'] 
B = ['fefgg'] 

C = A + B 
print C 

# Will print 
['2414214', 'fefgg']