list() - Pythonでリスト型に変換するlist()関数活用法

投稿日 2025年03月11日   更新日 2025年03月11日

Pythonでリスト型への変換でよく使用される`list()`関数について、基本的な使い方から実践的な活用例まで詳しく解説します。

list()関数の基本

`list()`は、イテラブル(繰り返し可能なオブジェクト)をリストに変換する組み込み関数です。文字列、タプル、セット、辞書など、様々なデータ型をリストに変換できます。
# 文字列をリストに変換
text = "Python"
char_list = list(text)
print(char_list)  # ['P', 'y', 't', 'h', 'o', 'n']

# タプルをリストに変換
tuple_data = (1, 2, 3)
number_list = list(tuple_data)
print(number_list)  # [1, 2, 3]

よくあるユースケース

1. 文字列の分割

文字列を個々の文字のリストに分割する際に便利です。
# 文字列を文字のリストに変換
text = "Hello"
char_list = list(text)
print(char_list)  # ['H', 'e', 'l', 'l', 'o']

2. イテレータをリストに変換

range()やmap()などのイテレータをリストに変換できます。
# range()をリストに変換
numbers = list(range(5))
print(numbers)  # [0, 1, 2, 3, 4]

# map()をリストに変換
mapped = list(map(str, [1, 2, 3]))
print(mapped)  # ['1', '2', '3']

3. セットをリストに変換

重複を除去したセットをリストに戻す場合に使用します。
# セットをリストに変換
set_data = {1, 2, 2, 3, 3, 4}
unique_list = list(set_data)
print(unique_list)  # [1, 2, 3, 4]

注意点とベストプラクティス

1. 大きなイテラブルをリストに変換する場合、メモリ使用量に注意が必要です。
# メモリ効率の良い方法
for item in range(1000000):
    # 処理
    pass

# メモリを多く使用する方法
items = list(range(1000000))  # 注意が必要
2. 空のリストを作成する場合は`[]`を使用することを推奨します。
# 推奨される方法
empty_list = []

# 動作するが冗長
empty_list = list()

エラー対処

よくあるエラーとその解決方法を紹介します。

TypeError: 'int' object is not iterable

# エラーの例
number = 123
list(number)  # TypeError: 'int' object is not iterable

# 解決方法
number_str = str(number)
number_list = list(number_str)  # ['1', '2', '3']

ValueError: invalid literal for int() with base 10

# エラーの例
text = "abc"
list(map(int, text))  # ValueError

# 解決方法
numbers = "123"
number_list = list(map(int, numbers))  # [1, 2, 3]

まとめ

  • `list()`関数は様々なイテラブルオブジェクトをリストに変換できる
  • 文字列、タプル、セット、イテレータなどを変換可能
  • メモリ使用量に注意が必要
  • 空のリスト作成は`[]`を推奨
  • イテラブルでないオブジェクトの変換時はTypeErrorに注意
これらの知識を活用することで、Pythonでのリスト操作をより効果的に行うことができます。
Resumy AI監修者
監修者: RESUMY.AI編集部

ヨーロッパのテックハブであるロンドンにて、シニアデベロッパーとしてチームを率いた後、オンライン教育プラットフォームUdemyでモダン技術に関する講義を配信する「Daiz Academy」を設立。現在はAIテクノロジー企業 Chott, Inc.を運営しています。

監修者: RESUMY.AI編集部
Resumy AI監修者

ヨーロッパのテックハブであるロンドンにて、シニアデベロッパーとしてチームを率いた後、オンライン教育プラットフォームUdemyでモダン技術に関する講義を配信する「Daiz Academy」を設立。現在はAIテクノロジー企業 Chott, Inc.を運営しています。

AI職務経歴書作成サービス RESUMY.AIAI職務経歴書作成サービス RESUMY.AI
60秒で完了