Возможно ли оптимизировать код Plotly?

Код рисует горизонтальные линии по заданным параметрам в Plotly, но смущает количество повторяющихся строк

shapes=[dict(type='line', xref='paper', yref='y', line_width=0.8,
              x0=0, x1=1, y0=avc, y1=avc, line_color = '#A9A9A9',
              line = dict(dash='solid')),
            dict(type='line', xref='paper', yref='y', line_width=0.8,
              x0=0, x1=1, y0=mic, y1=mic, line_color = '#A9A9A9',
              line = dict(dash='dot')),
            dict(type='line', xref='paper', yref='y', line_width=0.8,
              x0=0, x1=1, y0=buyd, y1=buyd, line_color = '#A9A9A9',
              line = dict(dash='dot')),
            dict(type='line', xref='paper', yref='y', line_width=0.8,
              x0=0, x1=1, y0=selld, y1=selld, line_color = '#A9A9A9',
              line = dict(dash='dot')),
            dict(type='line', xref='paper', yref='y', line_width=0.8,
              x0=0, x1=1, y0=buyu, y1=buyu, line_color = '#A9A9A9',
              line = dict(dash='dot')),
            dict(type='line', xref='paper', yref='y', line_width=0.8,
              x0=0, x1=1, y0=sellu, y1=sellu, line_color = '#A9A9A9',
              line = dict(dash='dot')),
            dict(type='line', xref='paper', yref='y', line_width=0.8,
              x0=0, x1=1, y0=mac, y1=mac, line_color = '#A9A9A9',
              line = dict(dash='dot'))],

Возможно ли сократить до нечто подобного?:

shapes=[dict(name='candles', type='line',
      xref='paper', yref='y', line_width=0.8,
      x0=0, x1=1,
      y0=[avc, mic, buyd, selld, buyu, sellu, mac],
      y1=[avc, mic, buyd, selld, buyu, sellu, mac],
      line_color = '#A9A9A9', line = dict(dash='dot'))],

Ответы (1 шт):

Автор решения: insolor

Можно использовать list comprehension

shapes = [
    dict(name='candles', type='line',
         xref='paper', yref='y', line_width=0.8,
         x0=0, x1=1,
         y0=y,
         y1=y,
         line_color='#A9A9A9', line=dict(dash='dot'))
    for y in [avc, mic, buyd, selld, buyu, sellu, mac]
]
→ Ссылка