2014-11-03 8 views
0

Как можно индексировать циклы для переменной «суффиксы» в цикле «для». Например, если суффиксы 1, он будет печатать данные из списка с индексом1, но мне нужно получить все индексы внутри цикла «rect», например, в первой итерации мне нужно, суффикс 1, второй, суффикс [2], третий суффикс [3] и т. д. Итак, теперь скрипт пишет один и тот же текст в каждом столбце диаграммы, но мне нужно для каждого бара, нового значения из списка суффиксов.Как перечислить список по индексу внутри цикла?

suffixes = sorted([data[4][14][5:12], data[5][14][5:12], data[6][14][5:12], data[7][14]  [5:12], data[8][14][5:12], 
       data[9][14][5:12],data[10][14][5:12], data[11][14][5:12], data[12][14] [5:12], data[13][14][5:12]]) 


for rect in rects: 
    width = int(rect.get_width()) 

    if width > 2: 
     suffix = suffixes[1] 
    else: 
     suffix = suffixes[1] 

    rankStr = suffix 
    if (width < 5):  # The bars aren't wide enough to print the ranking inside 
     xloc = width + 1 # Shift the text to the right side of the right edge 
     clr = 'black'  # Black against white background 
     align = 'left' 
    else: 
     xloc = 0.98*width # Shift the text to the left side of the right edge 
     clr = 'white'  # White on magenta 
     align = 'right' 

    # Center the text vertically in the bar 
    yloc = rect.get_y()+rect.get_height()/2.0 
    ax1.text(xloc, yloc, rankStr, horizontalalignment=align, 
     verticalalignment='center', color=clr, weight='bold') 

plt.show() 
+0

'for i in range (...):'? Не могли бы вы прояснить проблему? – jonrsharpe

+0

, например, если я напишу: для i в диапазоне (10): print (суффиксы [i]), он напечатает только индекс 10, а не каждый индекс. –

+1

Просьба предоставить [минимальный пример] (http://stackoverflow.com/help/mcve) кода и данных, чтобы другие могли воссоздать проблему - в ее нынешнем виде я не могу сказать вам, в чем проблема, и есть много кода в вашем примере, который кажется неуместным. – jonrsharpe

ответ

0

Вы, вероятно, хотите функцию enumerate, которая подсчитывает, сколько раз вы были вокруг петли:

for (count, rect) in enumerate(rects): 

    ... 
    suffix = suffix[count] 
    ... 

Это даст вам suffix[0] первый rect, suffix[1] для второго, и так на.

+0

Большое спасибо !!!! –

Смежные вопросы