Python
コンテナデータ型
list
作成

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のリストを宣言する方法をいくつか見てきました。 単純なことですが、すべてのデータ構造宣言の基本でもあります。

この記事が実際の開発に役立つことを願っています。

copyright for Python のリストを宣言します: 構文と例

© 2023 All rights reserved.