Счетчик цикла Python в для цикла [дубликат]

разархивировали ненужный в Python

, который Кто-то занес в блог о Python, не имеющем разархивировать функцию для движения с zip (). разархивируйте просто для вычисления потому что:

>>> t1 = (0,1,2,3)
>>> t2 = (7,6,5,4)
>>> [t1,t2] == zip(*zip(t1,t2))
True

На отражении, хотя, у меня было бы явное, разархивировали ().

138
задан Andre Miller 26 July 2009 в 21:11
поделиться

3 ответа

Используйте enumerate () примерно так:

def draw_menu(options, selected_index):
    for counter, option in enumerate(options):
        if counter == selected_index:
            print " [*] %s" % option
        else:
            print " [ ] %s" % option    

options = ['Option 0', 'Option 1', 'Option 2', 'Option 3']
draw_menu(options, 2)

Примечание : при желании вы можете заключить круглые скобки вокруг счетчика , параметр , например (счетчик, параметр) , если хотите, но они лишние и обычно не включается.

245
ответ дан 23 November 2019 в 23:28
поделиться

Вы также можете:

 for option in options:
      if option == options[selected_index]:
           #print
      else:
           #print

Хотя вы столкнетесь с проблемами, если есть повторяющиеся параметры.

4
ответ дан 23 November 2019 в 23:28
поделиться

Иногда я делаю это:

def draw_menu(options, selected_index):
    for i in range(len(options)):
        if i == selected_index:
            print " [*] %s" % options[i]
        else:
            print " [ ] %s" % options[i]

Хотя я стараюсь избегать этого, если это означает, что я буду повторять options [i] более пары раз .

4
ответ дан 23 November 2019 в 23:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: