Python中字串與列表轉換及字串打散組合

2021-06-26 23:18:45 字數 1779 閱讀 3675

在python中經常會遇到列表中元素轉換為字串,字串轉換為列表,將字串打散的等問題。下面依次說下我的做法:

1. 讀入整數

在做一些oj時,經常碰到讀取輸入的整數,如果是讀入單個整數,可以用

x = input()
這樣x返回的結果就是整數,無需轉換,但如果輸入是

123 456 78

這樣的,光靠input()就比較吃力。可以這樣

>>> inlist = raw_input()                                   #讀取原始輸入字串

123 456 78

>>> inlist

'123 456 78' #結果為乙個字串

>>> inlist = inlist.split() #把長字串按空格分隔,打散成多個字串

>>> inlist

['123', '456', '78'] #變成了多個字串

>>> inlist = [int(inlist[i]) for i in range(len(inlist))] #把字串轉為整型

>>> inlist

[123, 456, 78] #得到了輸入的整數,按索引獲取相應值

這裡變數的轉換過程沒有用新的變數名,這裡是為了方便,也是因為python支援動態型別,可能對剛學python且有c/c++程式設計習慣的同學來說不習慣。

2. 整型列表轉為字串

>>> inlist = [1, 2, 3, 4]

>>> inlist

[1, 2, 3, 4]

>>> inlist = [str(inlist[i]) for i in range(len(inlist))]

>>> inlist

['1', '2', '3', '4']

>>> ('').join(inlist)

'1234'

3. 字串的打散及組合

打散

>>> s = list(s)

>>> s = 'hello'

>>> s

'hello'

>>> s = list(s)

>>> s

['h', 'e', 'l', 'l', 'o'] #打散後的結果,如果是要把整數打散,則要先轉為字串

組合1

>>> s=list('hello')

>>> str = ''

>>> for i in s:

... str += i

...

>>> str

'hello'

這裡會出現...和一行空行是因為在互動端做的。

組合2利用join函式,更方便

>>> s=list('hello')

>>> s

['h', 'e', 'l', 'l', 'o']

>>> s = ('').join(s)

>>> s

'hello'

python中字串與列表的相互轉換

前兩塊是字串轉列表,第三塊為列表轉字串 list 字串轉成列表形式,字串中的每個元素都在列表中單個元素呈現 str1 1234 print str1 結果為 1234 current list str1 print current 結果為 1 2 3 4 簡單的字串可以理解為將,字串轉換成列表。但其...

python中如何把列表轉換為字串

lis 1 2 3 4 5 s join lis print s 1 2 3 4 5 語法格式為 str.join sequence sequence是序列型別,序列型別有列表 元組 range 如果列表中為int型,可使用map lis 1,2,3,4,5 s join map str,lis p...

Python字串和列表互相轉換

string.split seq none,maxsplit 1 seq 切割的規則符號,預設為空格,如果字串中沒有空格則不分割 maxsplit 切割次數,預設 1無限制 返回值 列表 coding utf 8 info str my name is baize info list 1 info ...