-3

コードを書いている間

for i in str_list:
    bin_list.append(codes[i]);
    bin=bin+codes[i];      

インデックスはstrではなく整数でなければならないと言われています。のすべてのキャラクターに対してそれを行いたいですstr_list

4

2 に答える 2

2

Python の for ループは、インデックスではなく値を提供します。インデックスが必要な場合は、次のようにします。

for i, var in enumerate(str_list): ...

デモ:

>>> h = "hello world"
>>> for i in h: print i
h
e
l
l
o

w
o
r
l
d

ただし、次を使用しenumerateます。

>>> for i, var in enumerate(h): print i
0
1
2
3
4
5
6
7
8
9
10

インデックスを取得します。enumerateを与えることに注意してくださいtuple。これが意味することは次のとおりです。

>>> for var in enumerate(h): print var
(0, 'h')
(1, 'e')
(2, 'l')
(3, 'l')
(4, 'o')
(5, ' ')
(6, 'w')
(7, 'o')
(8, 'r')
(9, 'l')
(10, 'd')

したがって、 for と言うとi, var in ...、タプルを 2 つに分割します。最初の値であるインデックスは に移動しi、2 番目の値varは実際の値に移動します。

于 2013-10-28T07:28:33.983 に答える