在我写代码的时候
for i in str_list:
bin_list.append(codes[i]);
bin=bin+codes[i];
它说索引必须是整数而不是str。我想对str_list
.
在我写代码的时候
for i in str_list:
bin_list.append(codes[i]);
bin=bin+codes[i];
它说索引必须是整数而不是str。我想对str_list
.
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 ...
,我们将元组分成两部分。第一个值,索引转到i
,第二个值var
转到实际值。