我的代码出了问题。当我试图从数组中找到progId
元素中的索引时,我收到错误。
当我尝试这个时:
for index in range(0, self.channel_count):
test = progId[index]
test_index = index
print test
错误是跳到这一行:
test = progId[index]
错误是:IndexError:字符串索引超出范围
以下是完整代码:
self.channel_count = 0
if start_time < current_time < stop_time:
print "program is half way"
progId = list()
for index in range(0, self.channel_count):
test = progId[index]
test_index = index
print test_index
self.channel_count += 1
以下是self.channel_count
19:13:23 T:6056 NOTICE: 0
19:13:23 T:6056 NOTICE: 1
19:13:23 T:6056 NOTICE: 2
19:13:23 T:6056 NOTICE: 3
19:13:23 T:6056 NOTICE: 4
19:13:23 T:6056 NOTICE: 5
19:13:23 T:6056 NOTICE: 6
以下是progId
列表中的元素列表:
19:16:40 T:2112 NOTICE: 3003
19:16:40 T:2112 NOTICE: 3131
19:16:40 T:2112 NOTICE: 3259
19:16:40 T:2112 NOTICE: 3387
19:16:40 T:2112 NOTICE: 3515
19:16:40 T:2112 NOTICE: 3643
19:16:40 T:2112 NOTICE: 3771
你能告诉我如何修复错误吗?
编辑:当我尝试这样做时:
program_index = str(self.program_index)
for index in program_index:
print index
我使用program_index
:
19:51:01 T:2888 NOTICE: 1
19:51:01 T:2888 NOTICE: 2
19:51:01 T:2888 NOTICE: 3
19:51:01 T:2888 NOTICE: 4
以下是progId
列表中的元素列表:
19:16:40 T:2112 NOTICE: 3003
19:16:40 T:2112 NOTICE: 3131
19:16:40 T:2112 NOTICE: 3259
19:16:40 T:2112 NOTICE: 3387
19:16:40 T:2112 NOTICE: 3515
19:16:40 T:2112 NOTICE: 3643
19:16:40 T:2112 NOTICE: 3771
我想得到这样的结果:
19:16:40 T:2112 NOTICE: 3131
19:16:40 T:2112 NOTICE: 3259
19:16:40 T:2112 NOTICE: 3387
19:16:40 T:2112 NOTICE: 3515
那么如何使用索引从数组中找到元素?
答案 0 :(得分:3)
在for循环的第一次运行中,self.channel_count
为0.因此,range(0, self.channel_count)
将是一个空列表,并且您将使&#34;索引超出范围&# 34。
答案 1 :(得分:-1)
只需将range(0, self.channel_count)
更改为range(len(progId))
即可。目前尚不清楚变量self.channel_count
和progId
包含哪些内容。