Python實現(xiàn)讀取字符串按列分配后按行輸出示例
本文實例講述了Python實現(xiàn)讀取字符串按列分配后按行輸出。分享給大家供大家參考,具體如下:
問題:
輸入一個字符串和一個數(shù)字,數(shù)字代表分為幾行,需要按照給定的列存儲方法存儲下來之后按行拼接讀出,如:
輸入:TNGDWXAZQSCVBK,3
輸出:TWQBNDXZSVKGAC
中間轉化的時候會形成這樣的圖形:
T W Q K
N D X Z S V B
G A C
化為矩陣可能看得更清晰一點:
T 0 W 0 Q 0 B
N D X Z S V K
G 0 A 0 C 0 0
0是作為空白填充進去的,下面看具體的實現(xiàn):
#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:zigzag_pattern
T W Q K
N D X Z S V B
G A C
convert("TNGDWXAZQSCVBK", 3) should return "TWQBNDXZSVKGAC".
'''
def convert_test(one_str,num):
'''''
'''
mod=len(one_str)%(num+1)
if mod==0:
cols=(len(one_str)/(num+1))*2
else:
cols=(len(one_str)/(num+1))*2+1
rows=num
#print 'rows, cols', rows, cols
matrix=[]
for i in range(rows):
matrix.append([0]*cols)
one_str_list=list(one_str)
for j in range(cols):
if j%2==0:
for i in range(rows):
if len(one_str_list):
matrix[i][j]=one_str_list.pop(0)
else:
matrix[1][j]=one_str_list.pop(0)
#print matrix
# for one in matrix:
# one_list=[str(onec) for onec in one]
# print ' '.join(one_list)
res=''
for one_list in matrix:
one_list=[str(one) for one in one_list]
res+=''.join(one_list)
return ''.join(res.split('0'))
if __name__ == '__main__':
print convert_test("TNGDWXAZQSCVBK", 3)
print convert_test("PAYPALISHIRING", 2)
print convert_test("PAYPALISHIRING", 4)
結果如下:
TWQBNDXZSVKGAC
PPIINAYALSHRIG
PLRAAIIIYSNPHG
[Finished in 0.3s]
更多關于Python相關內(nèi)容可查看本站專題:《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Pytorch 實現(xiàn)自定義參數(shù)層的例子
今天小編就為大家發(fā)信息一篇Pytorch 實現(xiàn)自定義參數(shù)層的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
PyTorch手寫數(shù)字數(shù)據(jù)集進行多分類
這篇文章主要介紹了PyTorch手寫數(shù)字數(shù)據(jù)集進行多分類,損失函數(shù)采用交叉熵,激活函數(shù)采用ReLU,優(yōu)化器采用帶有動量的mini-batchSGD算法,需要的朋友可以參考一下2022-03-03
PyCharm+PySpark遠程調試的環(huán)境配置的方法
今天小編就為大家分享一篇PyCharm+PySpark遠程調試的環(huán)境配置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
一文詳解Python中實現(xiàn)單例模式的幾種常見方式
這篇文章主要為大家介紹了Python中實現(xiàn)單例模式的幾種常見方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
python+matplotlib實現(xiàn)動態(tài)繪制圖片實例代碼(交互式繪圖)
這篇文章主要介紹了python+matplotlib實現(xiàn)動態(tài)繪制圖片實例代碼(交互式繪圖),小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01

