2017-11-04 10 views
-1

私はPythonを初めて使用しています。私はサブPlot(プロットライブラリ)を作成するためにNoneType値のリストを取得しようとしています。以下の設定が異なる仕様でサブプロットを作成するために必要です:Noneの値リストを取得する 'None'

fig = tools.make_subplots(rows=2, cols=3, specs=[ [{'colspan':3}, None, None], 
                 map(lambda x: {}, ew) ], 
          shared_xaxes=False, shared_yaxes=False, 
          start_cell='top-left', print_grid=False) 

ので、リスト「EW」の値に基づいて、Nonetype値のリストが必要とされています。リスト内の値は、非型のリストによって異なります。

  1. ソリューション:文字列のリスト、リストの内包表記:

    lst =', '.join([str(None) for ticker in ew])

    問題:文字列 - 可能Nonetypeに変換?

  2. 解決策:ewの各値にNoneを挿入するラムダ関数。

    map(lambda x: None, ew)

    問題:リストのブラケット。それらを取り除くことはできません。

私が探しています解決策:そう

print(lst) 
None, None 
<type 'NoneType'> 

こと:

fig = tools.make_subplots(rows=2, cols=3, specs=[ [{'colspan':3}, lst], 
                 map(lambda x: {}, ew) ], 
          shared_xaxes=False, shared_yaxes=False, 
          start_cell='top-left', print_grid=False) 

そのようなリストを取得する方法はありますか?埋め込み関数よりも優れたソリューションですか?

EDIT まだ挿入することで、エラーがあるので、次の図に 'LST':

lst = print(*map(lambda x: None, ew), sep= ', ') #returns None, None 

print('{lst}'.format(**locals())) #returns only None 

- >これは可能な説明でありますか?

+0

'[None] * len(ew)'は動作しませんか?残念ながら、 –

+0

はありません。 [None、None]を取得する - 大括弧が問題と思われる[None]、[None]はどちらもうまくいきません。 – tminusone

答えて

1

あなたはPythonの3.xを使用している場合NoneTypeデータが含まあります場合でも、あなたは括弧なしでリストを印刷し、これを試すことができます。

print (*lst, sep=', ') #lst = [None, None] 

それはすべき出力:

None, None 

Python 2.xを使用している場合は、from __future__ import print_function

+0

これは正しいようです。ただし、この組み合わせでは機能しません。 print(* [None、None]、sep = '、') は動作しません。これはプロット関数のエラーですか、あるいは「コンマ」に違いがありますか? – tminusone

2

リストを作成し、後で角かっこを削除するだけで済みます。

a = [None, None, None, None, None] # an example of a list you might want 

と次のようなカッコなしで印刷することができます。

print str(a)[1:-1] 
+0

なしタイプが必要です。したがって、この文字列は認識されません – tminusone

0

私の質問のための答えが見つかりました: 最初の場所で辞書に1つの全体のリストを作成します。図に

tr = [] 
for ticker in ew: 
    if ew.index(ticker) ==0: 
     tr.append({'colspan': len(ew)}) 
    else: 
     tr.append(None) 

fig = tools.make_subplots(rows=2, cols=3, specs=[ tr, map(lambda x: {},ew)], 
          shared_xaxes=False, shared_yaxes=False, 
          start_cell='top-left', print_grid=False) 

より神託のソリューションは歓迎されています。

関連する問題