python資料垂直變橫的方法:使用zip()函數,類似矩陣轉置的過程,將豎狀資料變成橫狀資料;語法「zip([iterable, ...] )」。此函數將物件中對應的元素打包成一個元組,然後傳回由這些元組組成的列表。
python現在是非常火熱的語言,現在各行各業都有許多人在學習Python,但是在學習的過程中遇到的困難也不少。例如,下面我將說的,如何將資料由豎狀變成橫狀。
第一種方法:
#橫狀資料:
def func(*kargs): return kargs, //有“,” l = func(5,3,4,5,6) for i in l: print (i)
#輸出為:
(5, 3, 4, 5, 6)
想要將Python的資料由垂直改為橫狀需要你會用
##改為豎狀資料:#
def func(*kargs): return kargs //无“,” l = func(5,3,4,5,6) for i in l: print (i)輸出為:
5 3 4 5 6這是因為return kargs 回傳的是傳入的參數即元組(5, 3, 4, 5, 6) 所以遍歷輸出為豎狀, 而return kargs , 實際將傳入的參數包裝成元組返回形如(kargs, ) 形式,在此例中為((5, 3, 4, 5, 6), ) 因為遍歷對像中只存在一個元組對象,即(5, 3, 4, 5, 6) 所以實際上只執行了print((5, 3, 4, 5, 6))。
第二種方法:
#1、python3.2
# -*- coding: utf-8 -*- def vertical_print(s): lines=s.strip('。').split(',') lines.reverse() print('\n'.join([' '.join(w) for w in zip(*lines)])) vertical_print("白日依山尽,黄河入海流,欲穷千里目,更上一层楼。")
2、python 2.5
# -*- coding: utf-8 -*- def vertical_print(s): lines=s.strip('。'.decode('utf8')).split(','.decode('utf8')) lines.reverse() print '\n'.join([' '.join(w) for w in zip(*lines)]) s="白日依山尽,黄河入海流,欲穷千里目,更上一层楼。".decode('utf8') vertical_print(s)zip()的作用是把傳入的多個iterable結合在一起。 如list(zip("abc","def","ghi"))得到的是[('a', 'd', 'g'), ('b', 'e' , 'h'), ('c', 'f', 'i')]。在這裡,從zip(*lines)得到每行應該輸出的字元所組成的元組。
本質上這個程式是一個類似矩陣轉置的過程,核心就是zip()函數的呼叫。
學習python要用python的思路做練習啊。盡量不受C的思路限制才能寫好python。以上是python資料豎著怎麼變橫的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!