なぜコードを実行するためにstr値をfloatと比較しようとしているかのように列挙型を使用できないことを理解しようとしていますif-elseブロックたとえば、次のように動作します。Floatオブジェクトは列挙型で添字付けできませんが、範囲とif-elseで動作します
testa = [23.12, 34.15, 25.12, 34.23]
if testa[0] == 'word':
print('It's is a string')
else:
print('Not a string')
これで「Not a string」が正常に印刷されます。次のコードブロックも機能します。
for i in range(len(testa)):
if testa[i] == 'word':
print('Its a string')
else:
print('Not a string')
上記の2つのコードブロックは、期待通りに機能します。今、私が列挙を使用したい:
for i, number in enumerate(testa, start=0):
if number[i] == 'word':
print("Its a string")
else:
print("Not a string")
TypeError: 'float' object is not subscriptable
それは私が私が私がちょうどインデックスカウンタ用i
それを供給し、それをインクリメントするの世話を列挙してみましょうと考えていたように、特定の指標についていくことができるよということが重要ですそれ以外の何かが私が見ていないところでここで起こっています。
'enumerate'が何をするのか分かりません。私の推測では、 'testa [i] == 'word'なら' if 'を実行したかったということです。 – slallum
@slallum私はリストを反復処理し、その中のすべての要素をテストする必要があります – Biggen