Pythonで配列とリストがどのように機能するか

Pythonで配列とリストがどのように機能するか

配列とリストは、プログラミングで最も役立つデータ構造の一部ですが、実際にそれらを最大限に活用している人はほとんどいません。今日は、いくつかの簡単なPythonの例とともに、基本について説明します。





前提条件

これらの概念を学ぶために、事前に知っておく必要のあることはそれほど多くありません。プログラミングパラダイムとPythonの基本的な知識が役立ちますが、必須ではありません。私たちを読む 基本的なPythonの例 どこから始めればよいかわからない場合。 Pythonが役に立たない言語だと思う場合は、そうでない理由を確認してください。





以下の基本的な考え方はどの言語にも適用できますが、Pythonでの例を示します。習得が容易な言語であり、何が起こっているのかを理解するための優れたプラットフォームを提供します。それに加えて、 tutorialspoint.com 優れたオンラインPythonインタープリターを提供します-必要がなければPythonをインストールする必要はありません(インストールする場合は、仮想環境のガイドを確認してください)。





データ構造

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

聞いたことがあるかもしれません 線形 データ型(要素はシーケンシャルです):



  • 配列
  • マトリックス
  • ルックアップテーブル

同様に、 リスト 多くの場合、それらの動作を規制するためのルールとメソッドが含まれています。一般的なリストは次のとおりです。

  • リンクリスト
  • 二重リンクリスト
  • 配列リストまたは動的配列

さまざまなデータ構造が多数あります。聞いたことがあるかもしれません 二分木グラフ 、 また ハッシュ 。今日は基本について説明しますが、慣れてきたらもっと学びたいと思うかもしれません。





配列

最初から始めましょう。配列は、(関連する)値の単純なコレクションです。これらの値は要素と呼ばれます。これらは通常、オブジェクトやその他のリストなど、任意のデータ型にすることができます。配列に関する主な注意点は、すべてのデータが同じである必要があることです。混合された文字列と整数を格納することはできません。君は ほぼ 保存する要素の数を常に指定する必要があります。可変サイズまたは 動的配列 存在しますが、固定長配列から始める方が簡単です。

Pythonは物事をやや複雑にします。それはあなたにとって物事を非常に簡単にしますが、それは常にデータ構造の厳密な定義に固執するわけではありません。 Pythonのほとんどのオブジェクトは通常リストであるため、配列の作成は実際にはより多くの作業が必要です。スターターコードは次のとおりです。





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

最初の行は 配列 モジュール-配列を操作するために必要です。 2行目は、という新しい配列を作成します 数字 値2、4、6、および8で初期化します。各要素には 整数 と呼ばれる値 また 索引 。キーはで始まります 、 それで 数字[0] 最初の要素にアクセスします( 2 ):

あなたは何を疑問に思うかもしれません '私' に使用されます。これは タイプコード これは、配列が整数を格納することをPythonに通知します。この種のことは通常Pythonでは必要ありません(「非Pythonic」と見なされます)。この理由は単純です。 Pythonの配列は、オペレーティングシステムの基盤となるC配列の非常に薄いラッパーです。これは、それらが高速で安定していることを意味しますが、Python構文に常に準拠しているとは限りません。

モニターのドット抜けを修正する方法

これらの配列に混合型を格納することはできません。文字列 'makeuseof.com'を保存したいとします。

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

これは許可されず、例外がスローされます。

すべての要素を印刷する方法は次のとおりです。

print(numbers)

配列要素にアクセスするこの方法はうまく機能し、適切なタスクに最適です。配列全体にアクセスするのは良くありません。プログラマーは本質的に怠惰なので、メンテナンスを容易にし、コピー&ペーストの労力を減らすことができれば、より多くのより良いコードを喜んで書きます。

すべてのプログラミング言語は、ある種のループを実装します。これは、リスト要素の反復(ループ)に最適です。最も一般的なループは その間にとって 。 Pythonは、 のために ループ:

for number in numbers:
print(number)

キーで要素にアクセスする必要がなかったことに注目してください。これは、配列を操作するためのはるかに優れた方法です。リストを反復処理する別の方法は、 にとって ループ:

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

これは前の例とまったく同じことを行いますが、配列内の要素の数を指定する必要があります( len(車) )、通過とともに 配列のキーとして。これはほぼ正確にそのコードです のために ループが実行されます。この方法は、わずかに柔軟性が高く、わずかに高速です(ただし のために ループは十分に高速です 多数 当時の。)

リスト

配列がどのように機能するかがわかったので、リストを見てみましょう。人々は異なる用語を同じ意味で使用し、リストを作成するため、混乱することがあります。 それは 配列...一種。

リストは特殊なタイプの配列です。最大の違いは、リストに含めることができることです 混合 タイプ(配列には同じタイプの要素が含まれている必要があることに注意してください)。 Pythonではリストは非常に簡単です。

何かをマスターするのにどれくらい時間がかかりますか
cars = ['Ford', 'Austin', 'Lancia']

インポートする必要がないことに注意してください 配列 モジュール?

この構文は、carsというリストを宣言します。角括弧内で、リストの各要素が宣言されています。各要素はコンマで区切られ、各要素は文字列であるため、引用符で囲んで宣言します。 Pythonはこれがオブジェクトであることを知っているので、 印刷 ステートメントはリストの内容を出力します:

print(cars)

配列の場合と同様に、ループを使用してリスト要素を繰り返すことができます。

for car in cars:
print(car)

リストの本当のパーティートリックは、それらの混合タイプです。先に進み、いくつかのデータを追加します。

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

これはPythonにとっては問題ありません-例外も発生しませんでした:

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

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

2つのリストを1つにマージすることもできます。

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

を使用して要素を削除するのも同じくらい簡単です 削除する 構文:

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

これについては、Pythonのリストと配列の基本について説明します。 Googleスプレッドシートの読み取りと書き込み、jsonデータの読み取りなどのコーディングプロジェクトを検討してみませんか。たぶん、あなたはあなたの新しいスキルを使っていくつかを作ることができます カスタムショートカットボタン 。異なるプログラミング言語であるにもかかわらず、これらの配列の原則は依然として適用されます。

共有 共有 つぶやき Eメール VirtualBoxLinuxマシンを過給するための5つのヒント

仮想マシンによって提供されるパフォーマンスの低下にうんざりしていませんか? VirtualBoxのパフォーマンスを向上させるためにすべきことは次のとおりです。

次を読む
関連トピック
  • プログラミング
  • プログラミング
  • Python
著者について ジョーコバーン(136件の記事が公開されました)

Joeは、英国のリンカーン大学でコンピュータサイエンスを卒業しています。彼はプロのソフトウェア開発者であり、ドローンを飛ばしたり音楽を書いたりしていないときは、写真を撮ったりビデオを制作したりしていることがよくあります。

ジョーコバーンのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください