我在从列表中提取元素时遇到问题。当我按下键盘上的向下翻页按钮时,它将调用向下翻页功能,因为它将跳过7个元素,并从列表中提取下一个元素,即:
['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'
]
当我点击键盘上的向下箭头按钮时,它将跳过7个元素,但它不会获取在406 Sky Sports News HQ
之后的7个元素,因为它将获取在413 Eurosport 1 UK
之后的元素,因此channels_list
将显示如下错误:
['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']
应该是:
['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']
代码如下:
def PageDown(self):
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']
channels_list = list()
channels_Index += 7
for i, start_ch in enumerate(self.channel):
if start_ch == channel:
channels_list =
self.channel[i+self.channels_Index:i+self.channels_Index+7]
我希望实现的是,我想跳过7个元素,并在每次按下键盘的向下翻页按钮时提取7个元素。你知道吗
例如:
当我点击page down(向下翻页)按钮时,我想跳过这7个元素并获取下面的7个元素,如下所示: ['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']
因此,当我点击page down按钮时,我想得到接下来的7个元素:
['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']
当我再次点击page down按钮时,我想获取接下来的7个元素:
['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']
当我最后再次点击page down(向下翻页)按钮时,我想获取接近列表末尾的7个元素,使其显示如下:
['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']
你能给我举个例子吗?我每次按键盘的向下键时,如何跳过7个元素,从列表中提取7个元素?你知道吗
这演示了一次滚动7个通道,关键部分是
next_seven_channels = self.all_channels[self.channel_index:end_index]
如果我理解正确,要立即显示前7个通道,只需在程序启动后调用
self.PageDown()
,如下所示:或在程序启动时跳过显示前7个频道:
更改
channels_Index
的值,这是一个全局变量,您没有在代码中发布它(我假设;否则python将抛出NameError),但是您读取了self.channels_Index
的值。你的意思可能是self.channels_Index += 7
移动线路
现在应该可以了。将它放在循环之后,以便可以再次调用它。你知道吗
相关问题 更多 >
编程相关推荐