Python配列とリスト:違いとユースケース
公開: 2021-11-03Pythonは、過去数年にわたってデータサイエンスの他の言語よりも優位に立っており、そのデータ構造は重要な役割を果たしています。 Pythonには多数のデータ構造のセットがあり、その中で配列とリストが今日説明する中で最も人気があります。
配列とリストは、多くの点で類似しているPythonの2つの主要なデータ構造です。 これらは両方ともデータの保存に使用でき、データを反復処理してスライスし、インデックス作成方法を使用して要素にアクセスすることもできます。 では、Pythonのリストと配列の違いは何ですか? さて、これは私たちがこの記事で議論しようとしていることです。
目次
Pythonの配列
配列は、同種の要素、つまり同じデータ型に属する要素を保持する連続したデータ構造です。
Pythonの配列が示す主な特徴は次のとおりです。
- 配列の連続性により、データを隣接するメモリ位置に格納できます。 これにより、配列要素の操作を簡単に実行できます。
- Pythonの配列は、次の2つの方法で宣言できます。
- アレイモジュールの使用
import array#'array'モジュールをインポートします
myArray = array.array('i'、[10、20、30])#配列宣言
#作成された配列:[10、20、30]
注:上記の宣言では、フォーマットコードを指定する必要があります。 ここで、「i」は整数を表すフォーマットコードです。
- NumPyモジュールの使用
import numpy#「numpy」モジュールをインポートする
myArray = numpy.array([10、20、30])#配列宣言
#作成された配列:[10、20、30]
- 配列要素は順序付けられています。 すべての要素には、整数のインデックスが関連付けられています。 たとえば、arr [10、20、30]では、「10」、「20」、および「30」がそれぞれメモリのインデックス0、1、および2に格納されます。
注: Pythonの配列インデックスは0から始まります。
- 配列には、同じタイプの値、つまり同種の要素のみを含めることができます。 例えば、
arr [1、2、3]
arr ['a'、'b'、'c']
Pythonの配列は、通常、類似したアイテムのリストを格納するために使用されます。 ディスプレイの実際の使用例の1つは、特定の株式の株価をさまざまな日数で保存することです。 株式の終値は、特定の株式と日についてはそのままです。 これは、そのような詳細を配列などの不変のデータ構造に格納する方がはるかに理にかなっていることを意味します。
実際、NumPy配列は通常、データサイエンスや機械学習で大規模なデータセットからのデータを保存するために使用されます。 各NumPy配列は、データセット内の機能に対応しています。
Pythonのリスト
リストは、Pythonでサポートされている4つの組み込みコンテナーまたはデータ構造の1つです。 リストを使用する主な利点の1つは、1つのリストに複数のデータ型の値を保持できることです。
Pythonのリストが示す主な特徴は次のとおりです。
- リストは、データストレージに関してより柔軟です。 それらには、異種データ、つまり異なるタイプの要素を含めることができます。 例えば、
[1、'こんにちは'、['x'、'y']]
- リストも順序付けられており、リストに格納されている要素には、それらのインデックスを使用してアクセスできます。 負のインデックスを使用して、リストの最後から要素にアクセスできます。 例えば。、
myList = [20、40、'hello'、'world']
#最後から2番目の要素を印刷する
print(myList [-2])
出力
- リストは、リストの初期化後に簡単に変更できます。 値を変更するには、要素のインデックスを使用して値にアクセスします。
車=['フォード'、'テスラ'、'ジャガー']
車[2]='BMW'
- 多次元リストは、ネストされたリストの概念を使用してPythonで実装することもできます。 これらの多次元リストは、Pythonで多次元配列として使用できます。
myArr = [[1、2]、[3、4]]
#作成された2次元配列:
#| 1、2 |
#| 3、4 |
Pythonでの多次元異種リストの実際のユースケースは、製品タイプ、カテゴリ、原価、販売価格などの製品詳細のセットを格納することです。このような多次元リストの各リストは、製品。 リストは変更可能であるため、いつでも製品の詳細を変更することが容易になります。
意欲的なPython開発者の場合、Pythonの配列とリストの基本的な違いをカバーすることが重要な側面です。 それで、これ以上面倒なことはせずに、Python配列とリストの表形式の説明に直接ジャンプしましょう。
Pythonの配列とリストの違いを知る
Python配列とリスト:勝者は誰ですか?
パラメータ | リスト | 配列 |
宣言 | リストはPythonに組み込まれているため、宣言する必要はありません。 リスト= [ 10、20、30 ] _ _ | 配列を宣言するには、配列モジュールまたはNumPyライブラリをインポートする必要があります。 my_arr_1 = array.array( ' i ' 、 [ 10、20、30 ] ) |
データ・タイプ | 1つのリストに、さまざまなデータ型に属する値を含めることができます。 myList = [ 40 、 'こんにちは' 、 'm' ] | 配列のすべての要素は同じデータ型である必要があります。 myArr = arr.array(i、 [ 1、0、9 ] ) |
サイズ | Pythonリストは、リストの初期化中にいくつかの追加要素を初期化するため、サイズ変更可能です。 | 配列のサイズは一定であり、変更することはできません。 |
スペース/ メモリー | 要素の追加または削除のために、より大きなスペースとメモリを消費します。 | よりコンパクトな方法でデータを保存します。 |
データストレージ | 少量のデータを保存するのに適しています。 | 大量のデータを保存するのに適しています |
数学演算 | 数学演算に直接使用することはできません。 | 配列要素は、高度な数学演算を使用して簡単に操作できます。 |
データを表示する | リストの要素はループなしで表示できます my_List = [ 1 、 “ Dennis” 、[ 'a' 、 'b' ]] print(my_List) | 配列の要素を表示するには、ループが必要です。 配列をインポート my_Arr = array.array( ' i ' 、 [ 1、2、3 ] ) my_Arrの私のために: print(I) |
Python配列とリスト:勝者は誰ですか?
このセクションを読んでいる場合は、Pythonのリストと配列の違いに精通していることを意味します。 ただし、プログラムで配列またはリストを使用する場合にも注意する必要があります。
このセクションでは、これら2つの中から最適なデータ構造を選択する必要があるさまざまな状況について説明します。
要素のタイプ
データの種類が事前に決定されていない場合は、複数の種類に属するデータのコレクションがあります。 たとえば、 name(string) 、 ID(integer) 、 marks(float)などのエンティティを持つ学生のレコードを保存するには、リストを選択することをお勧めします。
保存するデータが同じデータ型に属している場合は、ここで配列またはリストを優先できます。 選択は、データのサイズ、実行する操作、使用法などの他のパラメーターによって異なります。
メモリ消費
リストの初期化中に追加のスペースが割り当てられるため、リストのメモリ消費量はさらに多くなります。 データ収集が比較的少ない場合は、ここでリストを選択するのが効率的です。
画像ソース:webcourses @ UCF
配列のメモリ消費はリストよりも効率的であるため、配列は大量のデータを格納するのに適しています。
画像ソース:webcourses @ UCF
サポートされている操作
データに算術演算が必要ない場合は、データ操作用のより優れた組み込み関数をサポートしているため、リストの方が適しています。
一方、数学演算を実行する必要がある場合は、配列を使用する必要があります。 NumPyモジュールは、三角法や対数演算など、多くの高度な数学演算をサポートしています。
インポートするモジュール
モジュールやライブラリをインポートせずにリストを宣言できます。 Pythonに組み込まれているデータ構造であるため、通常の変数と同じように定義できます。
ただし、配列はPythonのデフォルトコンテナの1つではありません。 最も人気のあるモジュールは、 arrayとNumPyの2つです。 各モジュールには、配列に格納されているデータを操作および管理するための事前定義された関数がいくつか付属しています。
結論
この記事では、Pythonの配列とリストの違いを洞察に基づいて理解するために必要なすべてのトピックについて説明しました。 また、リストまたは配列が適しているさまざまなユースケースについても説明しました。
データサイエンスの旅を始めたい場合は、upGradのデータサイエンスに登録してください 今日のコース。 upGradのコースの豊富なコレクションをチェックしてください あなたのキャリアをキックスタートします。
さまざまなシナリオでは、リストよりもPython配列が優先されます。 配列に格納されているすべての要素は同種であるため、つまり、リストには異種の要素が含まれているのに対し、配列は同じデータ型であるため、Pythonのリストよりも高速です。 Pythonリストは、データストレージで非常に重要であり、複数の場合に使用できます。Pythonでリストに対して配列を使用するのはいつですか?
1. Pythonの配列はリストよりもコンパクトでメモリ消費量が少ないため、大量のデータを保存する必要がある場合は配列を使用することをお勧めします。
2.すべての要素が同じデータ型である場合、リストを使用してデータを格納する必要がないため、ここでは配列の方が効率的です。
3.配列に格納されたデータは数学的に簡単に操作できますが、これはリストでは非常に不便です。 Pythonの配列とリストの間でどちらが速いですか?
さらに、Python配列はCで実装されているため、Python自体に組み込まれているリストよりもはるかに高速です。 リストがPythonでデータを保存するのに適しているのはいつですか?
1.さまざまなデータ型のさまざまな要素がある場合、それらをリストに格納し、それらのインデックスを参照するだけでこれらの要素にアクセスできます。
2.リストのサイズを変更することもできます。 したがって、要素の数がわからない場合は、リストが役立ちます。
3.リストの組み込み関数はデータ操作に非常に便利であるため、少量のデータを保存する必要がある場合は、リストが非常に適しています。