1

私はまだPythonを学んでおり、次の作業を行う方法を知りたいです:

a_function(
  for n,item in enumerate(list):
    inside_function(code code code,
                    code code code,
                    code code code))

そのため、別の関数内にネストされた関数があり、内側の関数を何度も実行する必要がありますが、外側の関数は実行しません。私が使用しているコードは私のものではないため、これらの関数の動作を変更することはできません。

誰かが必要な場合は、実際のコードで編集できます。これは PyChart のものです。

編集:実際のコード:

ar = area.T(y_coord = category_coord.T(data, 0),
            x_grid_style=line_style.gray50_dash1,
            x_grid_interval=chartlength/5, x_range = (0,chartlength),
            x_axis=axis.X(label="X label"),
            y_axis=axis.Y(label="Y label"))

chart_object.set_defaults(interval_bar_plot.T, direction="horizontal",
                          width=5, cluster_sep = 0, data=data)

ar.add_plot(
  for n,item in enumerate(compactlist):
    interval_bar_plot.T(line_styles = [None, None],
                    fill_styles = [fill_style.red, None],
                    label=compactlist[n], cluster=(n,len(compactlist)))
)

can = canvas.default_canvas()
can.set_title("Chromosome comparison")
can.set_author("Foo")
ar.draw()

ar.add_plot 関数は (私が理解しているように) キャンバスに作業領域を作成し、interval_bar_plot 関数はバーを 1 つずつ作成します。したがって、複数の interval_bar_plot 関数が必要ですが、add_plot は 1 つだけです。または、単に最初のバーを n 回繰り返します。

編集:およびエラー:

  File "intvlbar.py", line 105
    for n,item in enumerate(compactlist):
      ^
SyntaxError: invalid syntax
4

2 に答える 2

0

取得しているエラーは、forループ自体が何も返さないためです。ただし、forループはar.add_plot()、パラメーターが配置される関数呼び出し内に配置されます。つまり、Python は「ar.add_plot()パラメータが必要ですが、この for ループではパラメータが渡されません」と言っています。

どのパラメータがar.add_plot()必要ですか?

これに近いものが必要です (ただし、これはおそらく正しくありません)。

ar.add_plot()
for n,item in enumerate(compactlist):
  interval_bar_plot.T(line_styles = [None, None],
        fill_styles = [fill_style.red, None],
        label=compactlist[n], cluster=(n,len(compactlist)
于 2012-01-30T00:51:34.747 に答える