@innTall

Как убрать повторяющиеся строки из кода Python?

Код работает корректно, на графике все ок, но очень много повторяющейся информации, которую хотелось бы упаковать компактнее.
Так есть:
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'))],
  • Вопрос задан
  • 345 просмотров
Пригласить эксперта
Ответы на вопрос 1
@zexer
base_params = {'type': 'line', 'xref':'paper', 'yref': 'y', 'line_width': 0.8, 'x0': 0, 'x1': 1, 'line_color': '#A9A9A9'}
line_params = {'line': {'dash': 'dot'}}

shapes=[
dict(y0='avc', y1='avc',  **base_params),
dict(y0='mic', y1='mic', **base_params, **line_params),
dict(y0='buyd', y1='buyd', **base_params, **line_params),
dict(y0='selld', y1='selld', **base_params, **line_params),
dict(y0='buyu', y1='buyu', **base_params, **line_params),
dict(y0='sellu', y1='sellu', **base_params, **line_params),
dict(y0='mac', y1='mac', **base_params, **line_params)
]
print(shapes)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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