首頁  >  文章  >  後端開發  >  python資料豎著怎麼變橫的?

python資料豎著怎麼變橫的?

little bottle
little bottle原創
2019-05-22 09:31:5618902瀏覽

python資料垂直變橫的方法:使用zip()函數,類似矩陣轉置的過程,將豎狀資料變成橫狀資料;語法「zip([iterable, ...] )」。此函數將物件中對應的元素打包成一個元組,然後傳回由這些元組組成的列表。

python資料豎著怎麼變橫的?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn