,而我写我的代码类型错误:指数必须为整数,不str的如何解决
for i in str_list:
bin_list.append(codes[i]);
bin=bin+codes[i];
它说,指数必须是整数海峡。我想为str_list
中的所有字符做。
,而我写我的代码类型错误:指数必须为整数,不str的如何解决
for i in str_list:
bin_list.append(codes[i]);
bin=bin+codes[i];
它说,指数必须是整数海峡。我想为str_list
中的所有字符做。
for i in str_list:
不会给字符串中的字符索引,而是字符串中的实际字符本身。你需要的是这个
for i in xrange(len(str_list)):
现在,i
将给你的指数。阅读关于xrange
编辑有时,您可能需要索引以及与该索引对应的实际字符。而不是做
for i in xrange(len(str_list)):
str_list[i]
,你可以使用enumerate
for index, char in enumerate(str_list):
一般情况下,您会希望使用'enumerate()'来生成索引;但是OP很难清楚OP在这里想要什么。 –
@MartijnPieters哦,我不知道'枚举'是一个生成器。我还会在答案中补充一点。 – thefourtheye
@thefourtheye已经添加枚举,heheheheh –
For循环Python中给你的价值观,而不是indicies,如果你想要索引,这样做:
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
为实际值。
这里的代码是什么?什么是期望的输出?你有没有输入样本?* str_list中的*是什么? –
专业提示:Python代码不需要';'分号。你可以删除那些没有结果。 –
str_list包含字符序列 – user2851022