\r\n\r\n

Pythonの配列とリストの仕組み

配列とリストは、プログラミングにおいて最も有用なデータ構造の1つです。しかし、これらを十分に活用している人はほとんどいません...

配列とリストは、プログラミングにおいて最も有用なデータ構造の一つですが、実際にその可能性を最大限に活用している人はほとんどいません。今日は、その基礎と簡単なPythonの例についてお話します。

前提条件

これらの概念を学ぶためには、事前に多くのことを知る必要はありません。プログラミング例やPythonの基本的な知識があれば助かりますが、必須ではありません。どこから手をつけていいかわからない場合は、Pythonの基本的なサンプルを読んでみてください。Pythonは使えない言語だと思う方は、Pythonを使わない理由をご覧ください。

以下の基本的な考え方は、どの言語にも適用できますが、ここではPythonで例を示します。非常に学びやすい言語であり、何が起こっているのかを理解するための優れたプラットフォームを提供します。さらに、tutorialpoint.comは優れたオンラインPythonインタプリタを提供しており、Pythonをインストールしたくない場合はインストールする必要さえありません(必要に応じて、仮想環境に関するガイドを参照してください)。

データ構造

データ構造とは何ですか?データ構造とは、最も基本的なレベルでは、データを効率的に格納する方法である。データ構造はデータ型ではないので、混乱しがちです。データ型は、コンパイラ(Pythonの場合はインタープリタ)にデータの使い方を指示します。データ構造は、実行可能な操作を指定し、多くの場合、特定のルールや規則を実装しています。

線形データ型(要素が連続しているもの)をご存じでしょうか。

  • アレイ(配列
  • マトリックス
  • 表を確認する

同様に、リストにもその運用方法を規定するルールやメソッドが含まれていることが多く、一般的なリストには以下のようなものがあります。

  • リンク一覧
  • 二重リンクのテーブル
  • 配列またはダイナミックアレイのリスト

データ構造の種類は非常に多い。二分木、グラフ、ハッシュという言葉を聞いたことがあるかもしれない。今日は基本的なことを説明しますが、慣れてきたらもっと勉強してもいいかもしれませんね。

アレイ(配列

最初からやりましょう。配列は、(関連する)値の単純な集まりです。これらの値をエレメントと呼びます。オブジェクトやリストなど、どのようなデータ型でも構いません。配列の最大の注意点は、すべてのデータが同じでなければならないことで、文字列と整数を混ぜて格納することはできない。ほとんどの場合、格納する要素の数を指定する必要があります。可変長の配列や動的な配列もありますが、固定長の配列の方が始めやすいと思います。

Pythonはちょっと複雑なんです。Pythonではほとんどのオブジェクトがリストなので、配列を作るには実はもう少し作業が必要なのです。以下はスターターコードです。

from array import arraynumbers = array('i', [2, 4, 6, 8])print numbers[0]

最初の行はarrayモジュールをインポートしています - これは配列を扱うために必要です。2行目は、numbersという新しい配列を作成し、値2、4、6、8で初期化します。各要素には、キーまたはインデックスと呼ばれる整数値が割り当てられている。キーは0から始まるので、数字[0]は最初の要素(2)にアクセスすることになります。

私」が何に使われるのか、気になりますよね。これは、配列が整数を格納することをPythonに伝える型コードです。通常、Pythonではこのようなことは必要ありません(「非同期」とみなされます)。Pythonの配列は、オペレーティングシステムが持つC言語の配列の、非常に薄いラッパーであることが理由です。つまり、高速で安定していますが、必ずしもPythonの構文に忠実でない場合があります。

これらの配列には、混合型は格納できません。」例えば、"makeuseof.com "という文字列を格納したいとします。

numbers = array('i', [2, 4, 6, "makeuseof.com"])

これは許されないことであり、例外を上げることになる。

ここでは、すべての要素を印刷する方法を説明します。

print numbers

配列の要素にアクセスするこの方法はうまく機能し、正しいタスクに適しています。うまくいかないのは、配列全体にアクセスすることです。プログラマーはもともと怠け者ですから、メンテナンスを簡単にしたり、コピー&ペーストの量を減らしたりできるのであれば、喜んでもっと良いコードを書きますよ。

どのプログラミング言語でも、何らかのループが実装されており、リスト要素を反復(ループ)するのに最適な方法です。最も一般的なループはwhileとforですが、Pythonではfor-inループが用意されているため、より簡単になります。

for number in numbers: print number

なお、キーで要素にアクセスする必要はない。これは、配列の扱い方として優れている。リストに対して反復処理を行うもう一つの方法は、forループを使うことです。

for i in range(len(numbers)): print numbers[i]

これは前の例と全く同じであるが,配列のキーとしてiを渡しながら,配列の要素数(len(cars))を指定する必要がある.これは、for in loopの実行とほぼ同じコードです。この方法はより柔軟性があり、より高速です(ただし、ほとんどの場合、for-in-loopは十分に高速です)。

リスト

配列の仕組みがわかったところで、リストを見てみましょう。人々は異なる用語を使い分けているため、時に混乱することがありますが、リストは配列のことです。ちょっとだけ。

リストは、配列の特殊なタイプです。大きな違いは、リストには様々な型が混在できることです(配列は同じ型の要素を含まなければならないことを覚えておいてください)。Pythonでは、リストは非常にシンプルです。

cars = ['Ford', 'Austin', 'Lancia']

配列モジュールをインポートする必要がないことに気づきましたか?

この構文は、CARSという名前のリストを宣言しています。角括弧の中では、リストの各要素が宣言されています。各要素はカンマで区切られ、各要素は文字列なので引用符で囲んで宣言します。 pythonはこれがオブジェクトであることを知っているので、print文はリストの内容を次のように出力します。

print cars

配列と同様に、ループを使ってリストの要素を反復処理することが可能です。

for car in cars: print car

本物のパーティー・トリックのリストは、そのタイプが混在している。 さらにデータを追加して行く。

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

これはPythonの問題ではなく、例外さえ発生しません。

リストに新しい要素を追加するのは簡単です(配列では不可能)。

cars = ['Ford', 'Austin']print carscars.append('Lancia')print cars

また、2つのリストを1つにまとめることも可能です。

cars = ['Ford', 'Austin']print carsother_cars = ['Lotus', 'Lancia']cars.extend(other_cars)print cars

remove構文を使って要素を削除するのも同様に簡単です。

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']print carscars.remove('Ford')print cars

Pythonのリストと配列の基本を紹介します。googlesheetsの読み書きやjsonデータの読み込みなど、コーディングの案件を検討してみてはいかがでしょうか。もしかしたら、あなたの新しいスキル**をカスタムショートカットに使えるかもしれません。プログラミング言語は違っても、この配列の原則はそのまま適用されます。

新しい発見や、もっと洗練されたものを見たいと思われましたか? 下のコメント欄でご意見をお聞かせください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ