我正在编写代码
for i in str_list:
bin_list.append(codes[i]);
bin=bin+codes[i];
它表示索引必须是整数而不是str。我想对str_list
中的所有字符执行此操作。
答案 0 :(得分: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')
所以,当我们说i, var in ...
时,我们将元组分成两部分。第一个值,索引转到i
,第二个值var
转到实际值。
答案 1 :(得分:1)