【发布时间】:2018-04-12 01:35:47
【问题描述】:
我的代码需要一些帮助。我想检查self.channels_index 的值是否不大于或等于self.channel,以便我可以从列表中获取元素。如果该值大于self.channel 值,则不执行任何操作。
当我尝试这个时:
self.channels_Index += 1
for index in enumerate(self.channel):
if index > self.channels_Index:
new_channel = self.channel[self.channels_Index]
我会得到一个错误:IndexError: list index out of range.
错误在这一行突出显示:
new_channel = self.channel[self.channels_Index]
列表中最后一个元素之后没有值。
这是self.channel 列表:
['101 BBC One S East', '102 BBC Two', '103 ITV', '104 Channel 4', '105 Channel 5', '106 Sky One', '107 Sky Living', '108 Sky Atlantic', '401 Sky Sports 1 UK', '402 SKY Sports 2 UK', '403 Sky Sports 3 UK', '404 Sky Sports 4 UK', '405 Sky Sports 5 UK', '406 Sky Sports News HQ', '407 Sky Sports F1', '408 Sky Sports 1 HD', '409 Sky Sports 2 HD', '410 Sky Sports 3 HD', '411 Sky Sports 4 HD', '412 Sky Sports 5 HD', '413 Eurosport 1 UK', '414 Eurosport 2 UK', '415 BT Sport 1', '416 BT Sport 2', '417 At the Races', '418 BT Sport ESPN', '419 MUTV', '420 Chelsea TV', '421 Eir Sport 1', '422 Eir Sport 2']
我期望实现的是我正在使用self.channels_index 添加值并检查self.channel 值,以便我可以使用该值获取元素,直到我可以从它的列表中获取最后一个元素是422 Eir Sport 2
你能告诉我一个例子,我如何使用self.channels_index 来检查self.channel 值,看看该值是否等于或不大于最后一个值,这样我就可以获取元素,直到我可以得到列表中的最后一个元素?
【问题讨论】:
-
尝试打印
index- 这不是你想的那样! -
"我期望实现的是我正在使用 self.channels_index 添加值并检查 self.channel 值,以便我可以使用该值获取元素,直到获得最后一个列表中的元素是 422 Eir Sport 2" - 这不清楚!
-
你不明白什么?
-
我刚刚给你写了我没有得到的东西……你关注的是如何而不是what。我们不应该关心您的实现,而是应该了解您想要实现的什么。您可以开始:我有一个值列表,我想提取 [...]。
-
哦,好吧,当我使用
self.channels_index将其添加到每次时,我都有值列表,我想使用值从列表中提取元素,直到我可以从列表中获取最后一个元素。我希望它清楚吗?
标签: python python-2.7 list indexing