Pythonで配列を定義する方法

coldplay.xixi
coldplay.xixiオリジナル
2021-03-05 16:37:5882989ブラウズ

Python で配列を定義する方法: 1. 直接定義 [a=[[1,1],[1,1]]]; 2. 間接的に [a=[[0 for x in range( 10 )] for y in range(10)]]; 3. [b = [[0]*10]*10] 初期値 0 の 2 次元配列。

Pythonで配列を定義する方法

このチュートリアルの動作環境: Windows 7 システム、Python バージョン 3.9、DELL G3 コンピューター。

Python で配列を定義する方法:

Python には配列のデータ構造はありませんが、リストは次のように配列と非常によく似ています。

a=[0,1,2]、その後、a[0]=0、a[1]=1、a[[2]=2 しかし、疑問が生じます。 、配列 a を 0 から 999 までに定義したい場合、これは a = range(0, 1000) によって実現できます。または a = range(1000) として省略します。長さ 1000 の a を定義する場合、初期値がすべて 0 の場合、 a = [0 for x in range(0, 1000)]

以下は 2 次元配列の定義です。

a=[[1,1],[1,1]] を直接定義します。ここでは 2 です。 *2 が定義されており、初期値は 0 の 2 次元配列です。

間接定義 a=[[0 for x in range(10)] for y in range(10)]、ここでは初期値を持つ 10*10 の 2 次元配列を定義します。 0の。

リテラル 2 次元配列のより簡単な方法もあります:

b = [[0]*10]*10, 定義10 *10A の 2 次元配列。最初は 0 で初期化されます。

a=[[0 for x in range(10)] for y in range(10)] と比較します。 print a==b の結果は True です。

しかし、a の代わりに b の定義方法を使用した後、以前は正常に動作していたプログラムも正常に動作しなくなり、注意深く分析した結果、次のような違いが見つかりました。 a[0] [0]=1のとき、a[0][0]だけが1になり、他はすべて0になります。

  • b[0][0]=1 の場合、a[0][0]、a[1][0]、a[9,0] まではすべて 1 になります。

  • これから、大きな配列内の 10 個の小さな 1 次元データはすべて同じ参照を持つ、つまり同じアドレスを指していることがわかります。

  • したがって、 b = [[0]*10]*10 は従来の 2 次元配列に準拠しません。

関連する無料学習の推奨事項:

Python ビデオ チュートリアル

以上がPythonで配列を定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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