WebプログラミングならR-izm

サイトマップ 最初に

リスト・タプル・集合型・辞書型

リストとは複数の値を1つの変数名に代入し、それをうまく呼び出す仕組みです。
値のことを要素とも呼びます。
abcという変数名に10と20と30の値を含みたい。
実世界の例では変数名にカレー添え物として、福神漬けとらっきょうを含みたいときに利用します。
変数名=[値1,値2,値3,…]と複数の値を指定して、一部取り出すときは変数名[番号]とします。
この番号は0からはじまります。そのため、0が値1になり、1が値2になります。
では実際に以下のコマンドを入力して実行してみてください。

>>> abc=[10,20,30]
>>> abc[0]
10
>>> abc[1]
20
>>> abc[2]
30
>>> カレー添え物=['福神漬け','らっきょう']
>>> カレー添え物[0]
'福神漬け'
>>> カレー添え物[1]
'らっきょう'

リストの要素数
中の値を変更する場合は、変数名[変更したい番号]=値とします。
ではabc変数名の値が30を25に変更します。
では実際に以下のコマンドを入力して実行してみてください。

>>> abc[2]=25
>>> abc[2]
25
>>> abc
[10, 20, 25]

タプルとはリストと同じなのですが、要素(値)を変更することができないのが違いです。
変数名=(値1,値2,値3,…)と複数の値を指定して、一部取り出すときは変数名[番号]とします。
この番号は0からはじまります。そのため、0が値1になり、1が値2になります。
リストの時は[]で値を指定し、タプルは()で指定しましたが取り出すときはどちらも変数名[番号]になることに注意してください。
では実際に以下のコマンドを入力して実行してみてください。

>>> efg=(1,10,100)
>>> efg[2]
100
>>> efg[2]=20
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object does not support item assignment

また、リストやタプルはスライス(値を部分的に取り出すこと)が行えます。
開始位置と終了位置を指定して値を取り出せます。
では実際に以下のコマンドを入力して実行してみてください。

>>> hij=(0,1,2,3,4,5,6,7,8,9)
>>> hij[2: 4]
(2, 3)
>>> hij[4:]
(4, 5, 6, 7, 8, 9)
>>> hij[:4]
(0, 1, 2, 3)

集合型もリストに似ているのですが、重複した値を持たせることができないのが違いです。
数学的な演算(結合・交差・差分・対象差など)が行えますが、一部の取り出しができません。
変数名={値1,値2,値3,…}と複数の値を指定(またはset())して、値があるかの確認に値 in 変数名とします。
では実際に以下のコマンドを入力して実行してみてください。

>>> klm={'Apple','Orange','banana'}
>>> nop={'Apple','banana'}
>>> klm
{'Orange', 'banana', 'Apple'}
>>> 'Orange' in klm
True
>>> klm-nop
{'Orange'}

辞書型もリストと似ていて複数の値を一つの変数名で管理できます。
違いとしてはリストが番号で値を取り出すのに辞書型はキーワードで値を取り出します。
変数名={キーワード1:値1,キーワード2:値2,キーワード3:値3,…}と指定して、変数名[キーワード]として取り出せます。
また、値 in 変数名として確認できます。
では実際に以下のコマンドを入力して実行してみてください。

>>> Price={'Apple':100,'Orange':120,'Banana':90}
>>> Price['Apple']
100
>>> 'Orange' in Price
True

keysメソッドを利用することで、キーワードのみを列挙することも可能です。
sorted関数を利用してソートしたり、list関数を利用してリスト表示することも可能です。
では実際に以下のコマンドを入力して実行してみてください。

>>> Price.keys()
dict_keys(['Apple', 'Orange', 'Banana'])
>>> list(Price.keys())
['Apple', 'Orange', 'Banana']
>>> sorted(Price.keys())
['Apple', 'Banana', 'Orange']

関数に行く

Pytohn計算に戻る