разархивировали ненужный в Python
, который Кто-то занес в блог о Python, не имеющем разархивировать функцию для движения с zip (). разархивируйте просто для вычисления потому что:
>>> t1 = (0,1,2,3)
>>> t2 = (7,6,5,4)
>>> [t1,t2] == zip(*zip(t1,t2))
True
На отражении, хотя, у меня было бы явное, разархивировали ().
Используйте 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)
Примечание : при желании вы можете заключить круглые скобки вокруг счетчика , параметр
, например (счетчик, параметр)
, если хотите, но они лишние и обычно не включается.
Вы также можете:
for option in options:
if option == options[selected_index]:
#print
else:
#print
Хотя вы столкнетесь с проблемами, если есть повторяющиеся параметры.
Иногда я делаю это:
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]
более пары раз .