Python のリストを宣言します: 構文と例
この記事では、Pythonでリストを宣言するさまざまな方法を見ていきます。
以下がその内容です:
- 空のリストの宣言と初期化
- 二次元リストの宣言
range()
とfor
を使ったリストの宣言- 与えられた長さのリストの宣言
- 文字列やクラスなどのリストの宣言
- グローバル変数のリストの宣言
1. 空リストの宣言
Python で空リストを宣言して初期化するにはいくつかの方法があります。以下にいくつかの例を示します。
1.1. 括弧を使う
まず、次のように空の括弧を使って宣言します。
my_list = []
1.2. list()
関数を使う
ここでは list()
関数を使って空のリストで初期化する方法を示します。
my_list = list()
2. 次元空リストの宣言
二次元の空リストを作成する場合、次のように角括弧を使って定義することもできる。
matrix = [ [], [] ]
多くの場合、行と列の数を指定して作成される。
2.1. for文による2次元リストの宣言
これを行うには、次のようなforループを使用します。
rows = 3
cols = 4
my_list = []
for _ in range(rows):
inner_list = []
for _ in range(cols):
inner_list.append(None)
my_list.append(inner_list)
2.2. リスト圧縮を使った2次元リストの宣言
あるいは、リスト内包を使ってよりシンプルなコードを書くこともできます。
rows = 3
cols = 4
my_list = [[None for _ in range(cols)] for _ in range(rows)]
# Output
[
[None, None, None, None],
[None, None, None, None],
[None, None, None, None]
]
3. range()
関数で任意の長さのリストを宣言する
Python のリストは長さを指定したり制限したりできるデータ型ではありません。 ある長さのリストを宣言するには、代わりにダミーの値を使う必要があります。
下のサンプルコードでは 0
を使って任意の長さのリストを宣言しています。
このようなコードを書くには range()
関数を使います。
list_count = 5
list_5 = [ 0 for _ in range(list_count) ]
# output
[0, 0, 0, 0, 0]
3.1. 特定の文字列やクラスのリストの宣言
上記と同じ方法で、任意の長さの文字列やクラスのリストを簡単に宣言できます。
例えば、指定した文字列を繰り返し処理したり、特定の文字列のリストを作成したりできます。
list_count = 5
list_5_a = [ 'a' for _ in range(list_count) ]
# output
['a', 'a', 'a', 'a', 'a']
また、chr()
関数を使用すると、以下とは異なる文字列を表すことができます、
row = 4
col = 3
matrix = [ [chr(97 + i + j) for i in range(col)] for j in range(row)]
# output
[['a', 'b', 'c'],
['b', 'c', 'd'],
['c', 'd', 'e'],
['d', 'e', 'f']]
特定のクラスのリストを宣言することもできる。
class Student:
def __init__(self, age):
self.age = age
def __repr__(self):
return f'Student(age:{self.age})'
def __str__(self):
return f'Student(age:{self.age})'
list_count = 5
matrix = [ Student(age) for age in range(list_count) ]
# output
[Student(age:0), Student(age:1), Student(age:2), Student(age:3), Student(age:4)]
4. グローバル変数のリストを宣言する
Python にはグローバル変数を宣言するための独立した関数はありません。トップレベルスコープで宣言された変数はすべてグローバル変数として使用できます。
特定のリストをグローバル変数として宣言する必要がある場合、リスト変数の前に global
キーワードを付けることで、関数などの他のスコープで使用することができます。
# init as global
my_list = []
def add_to_list(value):
global my_list
my_list.append(value)
add_to_list(1)
add_to_list(2)
print(my_list)
# Output: [1, 2]
結論
Pythonのリストを宣言する方法をいくつか見てきました。 単純なことですが、すべてのデータ構造宣言の基本でもあります。
この記事が実際の開発に役立つことを願っています。
