ホームページ >バックエンド開発 >Python チュートリアル >Python データを垂直から水平に変更するにはどうすればよいですか?

Python データを垂直から水平に変更するにはどうすればよいですか?

little bottle
little bottleオリジナル
2019-05-22 09:31:5619104ブラウズ

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), ) です。これは、トラバーサル オブジェクトにはタプル オブジェクトが 1 つしかないためです。つまり ( 5, 3, 4, 5, 6) なので、実際には print((5, 3, 4, 5, 6)) のみが実行されます。

#2 番目の方法:

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() の関数は Combine です。複数の受信イテラブルを一緒に。

たとえば、list(zip("abc","def","ghi")) は [('a', 'd', 'g'), ('b', 'e' を取得します) 、'h')、('c'、'f'、'i')]。ここでは、zip(*lines)から各行に出力すべき文字のタプルを取得しています。

本質的に、このプログラムは行列転置に似たプロセスであり、核となるのは zip() 関数の呼び出しです。

Python を学習するには、Python のアイデアを使用して練習する必要があります。 C のアイデアに制限されないように努めることによってのみ、Python を上手に書くことができます。

以上がPython データを垂直から水平に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。