Python 如何在7个对象之后输入相同的字符串

Python 如何在7个对象之后输入相同的字符串,python,python-2.7,Python,Python 2.7,我正在处理我的代码,因为我正在生成从361到375的ID列表,因此我可以在按钮对象中输入字符串。我想用两个不同的ID在两个不同的按钮对象中输入两个相同的字符串 例如: >>> 361 >>>> 101 BBC One South East >>> 362 >>>> 102 BBC Two >>> 363 >>>> 103 ITV >>> 364 >

我正在处理我的代码,因为我正在生成从
361
375
的ID列表,因此我可以在按钮对象中输入字符串。我想用两个不同的ID在两个不同的按钮对象中输入两个相同的字符串

例如:

>>> 361 >>>> 101 BBC One South East
>>> 362 >>>> 102 BBC Two
>>> 363 >>>> 103 ITV
>>> 364 >>>> 104 Channel 4
>>> 365 >>>> 105 Channel 5
>>> 366 >>>> 106 Sky One
>>> 367 >>>> 107 Sky Living
>>> 368 >>>> 101 BBC One South East
>>> 369 >>>> 102 BBC Two
>>> 370 >>>> 103 ITV
>>> 371 >>>> 104 Channel 4
>>> 372 >>>> 105 Channel 5
>>> 373 >>>> 106 Sky One
>>> 374 >>>> 107 Sky Living
代码如下:

channel_index = 0

#set the channels text in the label
for program_id in range(361, 375):
    self.parent.getControl(int(program_id)).setLabel(channels_list[channel_index])
    channel_index += 1
以下是
频道列表

['102 BBC Two', '103 ITV', '104 Channel 4', '105 Channel 5', '106 Sky One', '107 Sky Living', '108 Sky Atlantic']
102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
代码将要做的是,他们将只在7个按钮中输入7个字符串,因此它不会在接下来的7个按钮中输入相同的字符串,因为它将给我一个错误:indexer错误:列表索引超出范围

我希望做的是在前7个按钮中输入字符串,因此在接下来的7个按钮中,我希望输入相同的字符串。你能告诉我如何用我目前的代码做到这一点吗

编辑:当我尝试此操作时:

for program_id in range(361, 375):
    print channels_list[channel_index]
它将给我
频道列表的输出:

['102 BBC Two', '103 ITV', '104 Channel 4', '105 Channel 5', '106 Sky One', '107 Sky Living', '108 Sky Atlantic']
102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
以下是我想要实现的目标:

102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
以下是我用于在列表中存储频道的内容:

for channels in self.channel:
    if(channel == channels or len(channels_list)) > 0:  #check to see if it equals any or we already found it
       channels_list.append(channels)  #add chanel to list

       if len(channels_list) == 7:
          break

如果我很理解你的问题,你只需要在得到索引7后重新开始,如下所示:

channels_list = ['102 BBC Two', '103 ITV', '104 Channel 4', '105 Channel 5', '106 Sky One', '107 Sky Living', '108 Sky Atlantic']

channel_index = 0

#set the channels text in the label
for program_id in range(361, 375):
    print(channels_list[channel_index])
    channel_index += 1
    if(channel_index == 7):
      channel_index = 0
输出将是:

102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic

如果我很理解你的问题,你只需要在得到索引7后重新开始,如下所示:

channels_list = ['102 BBC Two', '103 ITV', '104 Channel 4', '105 Channel 5', '106 Sky One', '107 Sky Living', '108 Sky Atlantic']

channel_index = 0

#set the channels text in the label
for program_id in range(361, 375):
    print(channels_list[channel_index])
    channel_index += 1
    if(channel_index == 7):
      channel_index = 0
输出将是:

102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic
102 BBC Two
103 ITV
104 Channel 4
105 Channel 5
106 Sky One
107 Sky Living
108 Sky Atlantic

是否只想将按钮添加到列表中两次

for channels in self.channel:
    if(channel == channels or len(channels_list)) > 0:  #check to see if it equals any or we already found it
       channels_list.append(channels)  #add channel to list
       channels_list.append(channels)  #add channel to list again
还是按顺序添加?然后重写for循环,或者在for循环之外有一个for循环并运行两次:

for i in range(2): # loops twice
    for channels in self.channel:
        if(channel == channels or len(channels_list)) > 0:  #check to see if it equals any or we already found it
           channels_list.append(channels)  #add channel to list

是否只想将按钮添加到列表中两次

for channels in self.channel:
    if(channel == channels or len(channels_list)) > 0:  #check to see if it equals any or we already found it
       channels_list.append(channels)  #add channel to list
       channels_list.append(channels)  #add channel to list again
还是按顺序添加?然后重写for循环,或者在for循环之外有一个for循环并运行两次:

for i in range(2): # loops twice
    for channels in self.channel:
        if(channel == channels or len(channels_list)) > 0:  #check to see if it equals any or we already found it
           channels_list.append(channels)  #add channel to list

有点混乱。。。您检查的最终输出是什么?基于什么输入?@Damianaltenero我已经更新了它,请参见我的更新问题中的内容??有点混乱。。。您检查的最终输出是什么?基于什么输入?@Damianaltenero我已经更新了它,请参见我的更新问题中的内容??这是一个选项,是的,这里加一个选项,是的,这里加一个选项