TypeError を修正: 'map' オブジェクトは Python で添字可能ではありません
-
Python での
TypeError: 'map' object is not subscriptable
エラーの原因 -
Python の
TypeError: 'map' object is not subscriptable
エラーを修正する
どのプログラミング言語でも、多くのエラーが発生します。 コンパイル時に発生するものもあれば、実行時に発生するものもあります。
この記事では、TypeError: 'map' object is not subscriptable
、TypeError
のサブクラスについて説明します。 オブジェクトのタイプと互換性のない操作を実行しようとすると、TypeError
が発生します。
Python での TypeError: 'map' object is not subscriptable
エラーの原因
Python 3 での Python 2 マップ操作
Python 2 では、map()
メソッドはリストを返します。 添字演算子 []
を介してインデックスを使用して、リストの要素にアクセスできます。
Python 3 では、map()
メソッドはイテレータであり、添え字を付けられないオブジェクトを返します。 添え字演算子 []
を使用してアイテムにアクセスしようとすると、TypeError: 'map' object is not subscriptable
が発生します。
コード例:
# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = map(int, my_list)
print(type(my_list))
my_list[0]
出力:
#Python 3.x
<class 'map'>
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-07511913e32f> in <module>()
2 my_list = map(int, my_list)
3 print(type(my_list))
----> 4 my_list[0]
TypeError: 'map' object is not subscriptable
Python の TypeError: 'map' object is not subscriptable
エラーを修正する
Python 3 でマップ オブジェクトをリストに変換する
list()
メソッドを使用してマップ オブジェクトをリストに変換する場合、添字演算子/リスト メソッドを使用できます。
コード例:
# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = list(map(int, my_list))
print(my_list[0])
出力:
#Python 3.x
1
Python 3 のイテレータで for
ループを使用する
for
ループを使用してイテレータ内の項目にアクセスできます。 後ろで __next__()
メソッドを呼び出し、すべての値を出力します。
コード例:
# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = list(map(int, my_list))
for i in my_list:
print(i)
出力:
#Python 3.x
1
2
3
4
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません