我存储了列表中的频道列表。我想在匹配的字符串中搜索列表中的频道,看看我是否可以获取最多7个频道。
示例:当我的变量channel
显示102 BBC Two
时,我想要抓取102 BBC Two
,103 ITV
,104 Channel
,105 Channel
,{{列表中有1}},106 Sky One
和107 Sky Living
,因此我可以将某些内容存储在108 Sky Atlantic
列表中。
以下是代码:
channels_list
以下是元素列表:
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']
channel = "102 BBC Two"
channels_list = list()
#Store the 7 selected channels in the channels_list
你能否告诉我一个例子,我如何在列表中找到匹配的频道,以便我可以获取7个频道存储在['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']
列表中?
答案 0 :(得分:1)
使用enumerate
跟踪索引,然后只比较位置。
for i, start_ch in enumerate(self.channel):
if start_ch == channel:
return self.channel[i:i+7]
找到正确的起点后,将起始索引的切片返回到起始索引+7。