,而我寫我的代碼類型錯誤:指數必須爲整數,不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