今回は、Pythonでタプルを配列に変換する方法について説明します。
Pythonは素晴らしいプログラミング言語です。
その出現の日から今日まで、その人気は日に日に高まっています。
Pythonがプログラミングの間でとても人気があるのにはいくつかの理由があります。
Pythonの配列とリスト
プログラミングに関連した作業で、整数型の変数を10個作成する必要があるとします。
その際、いくつかの宣言が必要ですが、明らかに10行のコードが追加されることになります。
このようなコードを作成するのは面倒な作業です。
そこで、この問題を解決するために、配列が用意されています。
Pythonの配列またはリストは、学ぶべき最も基本的なデータ構造の1つです。
配列は、単一または複数のデータ型に属する要素の集合体です。
配列の背後にある考え方は、要素に複数回アクセスできることです。
これはまた、多くの行を持つコードを削減し、余分な変数を作成する必要はありません。
この記事もチェック:pythonの配列(リスト)の中で最も多い数を見つける方法を解説(コード付き)
Pythonにおけるリストと配列の違い
リスト | 配列 |
異なるデータ型の要素を含む。 | 単一のデータ型の要素を含む。 |
ループを通したイテレート可能|ループを通したイテレート可能|ループを通したイテレート可能 | |
1次元で操作されることが多い | 1次元または多次元で操作されることが多い。 |
ソース – Python List vs Array主な問題は、誰もがこの2つの間で混乱するときに発生します。
そこで、それを明確にするために、コードで適用します。
この記事もチェック:Pythonのリストと配列の違いについて分かりやすく解説する
Pythonでリストを宣言する
Pythonでリストを宣言してみましょう。
コード
list1 = [ 23 , 34 , 12 , 22 ] # declaring a list
print (list1) # printing the list on the screen
|
結果は以下の通りです。
list1 = [ 11 , 34 , 23 , 33 , 4 ]
list1.append( 2 ) # adds 2 at the end
# Output :- [11, 34, 23, 33, 4, 2] |
リストを編集するには、様々な方法があります。
- 新しい要素を追加する
- 要素の削除
- 要素に外部要素を乗算する
1. 新しい要素の追加
append() メソッドは、リストの末尾に新しい要素を追加します。
この関数は、末尾に追加する要素をパラメータとして受け取ります。
コード
list1 = [ 23 , 2 , 4 , 44 ]
# 0 1 2 3 positive indexing starts from left to right # -4 -3 -2 -1 negative indexing starts from right to left |
インデックスの概念を使って、リストを編集することもできます。
インデックスとは、リストや配列の各要素に割り振られる位置番号のことです。
左から右へ、右から左へと始まります。
コード
list1 = [ 11 , 34 , 23 , 33 , 4 ]
print (list1[ 2 ])
# Output :- 23 |
インデックスにアクセスするには、中括弧で囲まれたインデックス番号のリストを呼び出す必要があります。
以下の例では、3番目の要素にアクセスします。
正のインデックスは0から始まり、n-1まで続くことを覚えておいてください。
コード
list1 = [ 23 , 89 , 2 , 3 , - 1 , 12 ]
list1.clear() # deleting each element from the list
print (list1)
list1 = [ 23 , 89 , 2 , 3 , - 1 , 12 ]
list1.pop( 4 ) # deleting the element from 4th index of the list
print (list1)
list1 = [ 23 , 89 , 2 , 3 , - 1 , 12 ]
list1.remove( - 1 ) # search and remove the specified element from the list
print (list1)
|
説明
- インデックスは0から始まり、0から2までで3カウントとなる。したがって、3番目の要素にアクセスするには、角括弧の中の2を呼び出す必要があります。
-
- 2行目のコードでは、同じプロパティを使用して0番目の位置の要素を変更しています。
この記事もチェック:Pythonのmin関数を使ってリストや配列の最小値を求める方法
2. 新しい要素の削除
新しい要素を追加するのはいいのですが、その要素をリストから削除する必要がある場合もあります。
このとき、いくつかの関数が役に立ちます。
clear()関数は、リストからすべての要素を削除し、空のリストを返します。
pop()関数は、インデックス番号を引数に取り、そのインデックス位置に関連する要素を削除します。
3. remove()関数は、パラメータとしてリスト内に与える必要がある要素をリストから削除します。
コード
from array import *
int_array = array( 'i' , [ 1 , 4 , 55 , 51 , - 2 ])
print ( ' ,int_array)
char_array = array( 'u' , [ 'a' , 'b' , 'c' , 'd' ])
print ( ' , char_array)
float_array = array( 'f' , [ 2.2 , 4.3 , - 1.2 , 9.0 ])
print ( ' , float_array, ' )
|
結果は以下の通りです。
出力:
from array import *
char_array = array( 'u' , [ 'a' , 'b' , 'c' , 'd' ])
print ( ' , char_array)
print ( 'Data type: ' , type (char_array))
char_array = char_array.tolist()
print ( ' , 'Converted array: ' , char_array)
print ( 'Data type: ' , type (char_array))
|
Pythonの配列とは?
Pythonには、配列操作のための独立したライブラリがあります。
配列モジュールを使っていると、どこかC言語プログラミングのような感覚を味わうことができます。
このデータ構造には、同じデータ型の要素しか格納できないことが分かっています。
そのため、pythonコンパイラがどのようなタイプの要素やオブジェクトが含まれているかを識別するために、特別なUnicode文字が用意されています。
配列を宣言するには、そのための一連のルールがあります。
array()関数はいくつかの引数を取ります。
それらは特定のデータ型に固有のものです。
型コード|C – 型|Python 型| ‘b’ 型|符号付き文字型|整数型 | ||
‘b’ | 符号付き文字 | 整数型 |
‘B’ | 符号なし文字 | 整数型 |
‘u’ | 文字|符号あり文字|整数 | |
‘h’ | 符号付き短文 | 整数型 |
‘H’ | unsigned short | integer(符号なしショート)| (整数 |
‘i’ | 符号付き int | integer|(整数 |
‘I’ | unsigned int | integer(符号なし整数 |
‘L’ | 符号付き long | 整数 |
‘L’ | unsigned long | integer(符号なし長さ |
‘q’ | 符号付き long long | 整数 |
‘Q’ | unsigned long long | integer(整数値 |
‘f’ | float | float |
‘d’ | ダブル | フロート |
C型の特殊文字は、物事をより明確にするために割り当てられています。
これらの型は、その特定の配列の内部に存在する要素のデータ型を示します。
上記のコードは、基本的な実装の一部です。
コード
tup = ( 3 , 1 , 2 , 4 , 5 , 6 ) # declaration of a tuple
print (tup) # printing it on the screen
# output - (3, 1, 2, 4, 5, 6) |
結果は以下の通りです。
tup = ( 2 , 34 , 1 , - 1 , - 4 , 3 )
print (tup[ 3 ])
print (tup[ 4 ])
print (tup[ - 1 ])
|
配列からリストへの変換
その他、append()、pop()などのメソッドもこのモジュールで使用可能です。
詳しくは、このリンクからドキュメントページをご覧ください。
その他、配列を通常のリストに変換する – array.tolist() などの特殊な関数もあります。
コード
from array import *
tup = ( 23 , 98 , 3 , - 2 , - 4 , 11 )
print ( ' , tup)
conv_tup = array( 'i' , tup)
print ( ' ,conv_tup, ' )
|
import numpy as np
tup = ( 23 , 98 , 3 , - 2 , - 4 , 11 )
print ( ' , tup)
print ( 'Data type' , type (tup))
conv_tup = np.array(tup)
print ( ' ,conv_tup)
print ( 'Data type' , type (conv_tup), ' )
|
注:コード中のtype()関数は、変数のデータ型を返します。
これによって、配列のデータ型を確認し、配列からリストへの変換を行っています。
Pythonのタプルとは?
Pythonの最も基本的なデータ構造の1つはタプルです。
タプルは不変のデータ構造です。
丸括弧で要素を囲み、カンマで区切ります。
一度タプルを作成すると、それを変更したり編集したりする直接的な方法はありません。
コード
tup = ( 2 , 34 , 2. - 1 , 9 , 0 ) # declare a tuple
new_tup = list (tup) # converts tuple into list
print (new_tup)
# Output = [2, 34, 2. -1, 9, 0)] |
1. タプルからの要素の取り出し
タプルから要素にアクセスするには、インデックスメソッドを使用します。
リストと同じように、タプル内の要素にはインデックス番号が振られます。
ここでは、タプルから4番目、5番目、最後の位置から要素を抽出します。
タプルから配列や他のデータ構造に変換します。
Pythonには、タプルを他のデータ構造に変換するための関数やモジュールがいくつか用意されています。
文字通り、これらは単純なコード行です。
タプルを配列に変換する
ここでは2つの方法を取り上げます。
1つ目はarrayモジュールを使用する方法、2つ目はNumPyモジュールを使用する方法です。
Arrayモジュールを使ってタプルを配列に変換します。
以前、arrayモジュールは純粋な配列の宣言に役立ちました。
しかし、我々はまた、変換の目的のために使用することができます。
そこで、わかりやすくするために、コードで説明しましょう。
説明
- 配列モジュールをインポートします。
- タプルを宣言します。それを画面に表示します。
- 次に配列関数を使用します。その際、型コード文字に’i’を与える。これでタプルは整数の配列に変換されます。次の引数には、カンマで区切られたタプルを指定します。
-
- 配列をスクリーンに表示します。
Numpyモジュールを使ってタプルを配列に変換します。
Numpy – numerical pythonは例外的に配列関連の操作に非常に優れたライブラリです。
複雑な数学的計算の計算のために、開発者が選択するものです。
この目的のために、このライブラリからarray()メソッドを使用します。
このメソッドは、タプルをNumPyの配列に変換し、すぐに使えるようにします。
コード
結果は以下の通りです。
説明
- NumPy モジュールをインポートしています。
- タプルを宣言し、画面に表示します。
- type()を使ってデータ型を表示します。
-
- conv_tup変数を宣言し、タプルをパラメータとするnp.array()メソッドを呼び出す。
-
- 変換されたタプルをデータ型とともに画面に表示し、変換を確認します。
タプルからリストへの変換
コード
説明
- まず、タプルをtupと宣言します。
-
- new_tupという変数を作り、その中でlist()関数を呼び出し、タプルをパラメータとして与える。
- 普通のリストに変換されます。
- そして、それを画面に表示する
まとめ
Pythonでのタプルから配列への変換の話題はこれで終わりです。
これらのコードは実装が非常に簡単で、学ぶのも簡単です。
各コードの行を追跡し、その機能を理解しましょう。
この記事はリストとタプルに関する概念もクリアにしています。