获取NoneType值列表'无'

时间:2017-11-04 09:28:05

标签: python lambda plotly nonetype

我是Python新手。我正在尝试获取NoneType值列表以创建子图(plotly库)。需要以下设置才能创建具有不同规格的子图:

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的Lambda函数。

    map(lambda x: None, ew)

    问题:列表的括号。无法摆脱它们。

  3. 我正在寻找的解决方案:

    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)
    

    有没有办法获得这样的清单?或者是嵌入式功能的更好解决方案?

    修改 因为将以下'lst'插入fig:

    仍然存在错误
    lst = print(*map(lambda x: None, ew), sep= ', ') #returns None, None 
    
    print('{lst}'.format(**locals())) #returns only None 
    

    - &GT;这是一个可能的解释吗?

3 个答案:

答案 0 :(得分:2)

您可以稍后创建一个列表,然后删除括号。

clearColor

你可以在没有括号的情况下打印它:

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

答案 1 :(得分:1)

如果您正在使用Python 3.x,即使包含NoneType数据,您也可以尝试使用此列表打印不带括号的列表:

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

应输出:

None, None

如果您使用的是Python 2.x,也可以使用from __future__ import print_function

执行此操作

答案 2 :(得分:0)

找到我的问题的答案: 首先用字典制作一个完整的列表。

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)

欢迎更多的pythonic解决方案。